2014-02-24 1 views
0

정말 문제는 아니지만 Yahoo Answers에서 "암호를 추측"하고 싶지 않습니다. 다른 곳은 없습니다.스프레드 시트, 셀의 통화 단위를 가져 오는 기능

나는 "비용"이라고 불리는 열에 몇 개의 셀을 가지고 있으며 몇 가지 다른 통화로 입력됩니다. "비용"열의 값이 현지 통화로 표시되는 열을 갖고 싶습니다.

if 문을 사용할 수 있다면 충분히 쉬울 겁니다. if(???=="$",cell*$[cell with conversion rate],[nested if statements])하지만 무엇이 확실하지 않습니다. ??? 나는 찾고 있었지만, 내가 무엇을 찾고 있는지 알지 못해도 효과가 없었다. 열의 값을 텍스트로 입력 한 경우

+0

비 프로그래밍 관련 소프트웨어 및 컴퓨터 관련 질문에 특히 적합한 [su]가 있습니다. –

답변

0

,이 =LEFT()를 사용하여 쉽게 풀 수 있어야한다 : 셀의 문자열이 "$ 100,000"인 경우, 당신이 통화를 확인하는 =IF() 조건 =LEFT([Cell], 1)을 사용할 수 있습니다. 값을 숫자로 입력했지만 Currency으로 포맷하면 VBA에서 셀의 NumberFormat이 무엇인지 확인하고 입력에 따라 통화 값을 반환하는 사용자 정의 함수를 만들 수 있습니다.

편집 :는 VBA 솔루션의 스케치가 다음과 같이 보일 수 있습니다

Function CurrencyFormat(rng As Range) As String 
    If InStr(1, rng.NumberFormat, "€") Then 
     CurrencyFormat = "EUR" 
    ElseIf InStr(1, rng.NumberFormat, "£") Then 
     CurrencyFormat = "GBP" 
    ElseIf InStr(1, rng.NumberFormat, "¥") Then 
     CurrencyFormat = "JPY" 
    Else 
     CurrencyFormat = "USD" 
    End If 
End Function 

당신은 당신의 데이터 세트에 표시되는 통화를 수용하도록 확장해야 할 것입니다. 수식의 출력을 키로 사용하여 별도의 테이블에서 관련 환율을 검색 할 수 있습니다 (또는 스프레드 시트에서 FX 환율을 한 번만 사용하는 경우 수식 출력을 변경하여 이미 그 자리를 반환 할 수 있습니다 율).

+0

아, 아니요, 통화로 서식이 지정된 숫자입니다. 스프레드 시트의 목적 때문에 텍스트로 취급하는 숫자가 0이됩니다. –

+0

그럴 경우 해당 범위의 'NumberFormat'을 기준으로 통화를 확인해야합니다. , 그리고이를 기반으로 환율 비율 값 (또는 이들을 찾을 수있는 환율 테이블로의 키)을 반환합니다. – Corcovado

관련 문제