2014-10-01 19 views
9

Mam kolumnę wartości w różnych walutach. Chcę utworzyć kolumnę, która automatycznie wykrywa walutę o danej wartości i zamienia ją na GPB (lub dowolną inną daną walutę).Dynamicznie przeliczaj walutę

Mam następującą formułę zapytań kurs wymiany:

=INDEX(GoogleFinance("eurgbp","price",date(2014,9,15)),2,2) 

Jednak wymaga to, że można określić walutę konwertowania z. Chcę, żeby to było dynamiczne, ponieważ moja lista walut jest różna.

+1

Jak wyglądają dane? a jeśli nie masz waluty, jak możesz odróżnić różne waluty? –

+0

Komórka zostanie sformatowana przy użyciu właściwej waluty - szukam sposobu wyodrębnienia danych formatowania w celu uzyskania kursu wymiany, a tym samym automatycznej konwersji waluty na preferowany lokalny. –

Odpowiedz

3

Możesz powrócić ciąg znaków reprezentujący tekst sformatowanej wartości z:

=TO_TEXT(A1)

Więc jeśli mają wartość 35 sformatowanego jako funt szterling, formuła zwróci ciąg:

£35.00

Teraz możesz dopasować ten ciąg za pomocą tabeli odnośników (prawdopodobnie używając REGEXMATCH), aby zwrócić ciąg znaków wymagany dla GoogleFinance(). Kłopot w tym, że rodzimy format, powiedzmy, dolara amerykańskiego, jest dokładnie taki sam jak, powiedzmy, dolar australijski. Można jednak ustawić własne niestandardowe formaty liczb (np. Z dodanym USD lub AUD), które zostaną przeniesione do funkcji TO_TEXT.

Prawdopodobnie konieczne będzie opisanie wszystkich możliwych formatów walut, aby uzyskać bardziej szczegółowe rozwiązanie.

3

Wygląda na to, że musisz wymyślić kodowanie wartości w walucie. Na przykład:

Currency 
---------- 
USD, 10254 # $102.54 
RMB, 1010 # ¥101.0 

W takim przypadku należy przeanalizować wartość kolumny, aby określić typ waluty. Lub możesz mieć dwie kolumny. Jeden dla rodzaju waluty, a drugi dla wartości waluty:

Type Currency 
---- -------- 
USD 10254 # $102.54 
RMB 1010  # ¥101.0 

Nawiasem mówiąc, kolumny walutowe są liczbami całkowitymi, dzięki czemu nie trzeba używać zmiennoprzecinkowych matematykę, która jest dobrą rzeczą, aby uniknąć w moim doświadczeniu.

1

Jak wspomniał AdamL, musisz sprawdzić, czy na liście danych znajdują się waluty z tymi samymi symbolami.

Jeśli nie, można wykonać następujące czynności:

Amt  Text   Amt Symbol 
========================================= 
(data) =TO_TEXT(A2) =left(B2,FIND(REGEXEXTRACT(B2,"[0-9\.\,]"),B2)-1) 

Pozwoli to uzyskać symbol waluty z kolumny A. formuła jest znalezienie pierwsze wystąpienie czegoś numerycznej a następnie (w tym i). po prostu weź to, co jest po lewej stronie, aby uzyskać walutę.

Następnie trzeba tabelę dla każdego symbolu swojej ISO 3 literowy kod, dzięki czemu można korzystać z Google Finance aby uzyskać FX, coś jak:

Symbol ISO Ccy 
====================================== 
$   USD 
£   GBP 
€   EUR 

Następnie można uzyskać Waluta ISO za pomocą VLOOKUP i kontynuować powyższe wzory, tutaj zrobiłem FX GBP

Amt Symbol  FX                  Convert Amt 
=================================================================================================== 
(formula above) =IF(D2="GBP",1,INDEX(GoogleFinance(D2&"GBP","price",<SOMEDATE>),2,2)) =E2*A2 

Uratowałem przykład here.