2014-10-01 17 views
9

Ho una colonna di valori in valute diverse. Voglio creare una colonna che rileva automaticamente la valuta di un determinato valore e la converte in GPB (o qualsiasi altra valuta specificata).Converti dinamicamente la valuta

Ho la seguente formula per l'interrogazione del tasso di cambio:

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

Tuttavia, questo richiede di specificare la valuta si esegue la conversione. Voglio che questo sia dinamico, perché la mia lista di valute varia.

+1

Come sono i dati? e se non hai la valuta come puoi distinguere tra le diverse valute? –

+0

La cella verrà formattata con la valuta corretta: sto cercando un modo per estrarre questi dati di formattazione per recuperare un tasso di cambio e quindi convertire automaticamente la valuta nel mio locale preferito. –

risposta

3

È possibile restituire una rappresentazione di stringa di testo di un valore formattato con:

=TO_TEXT(A1)

Quindi, se avete il valore di 35 formattato come Sterlina Inglese, la formula restituirà la stringa:

£35.00

Ora è possibile abbinare quella stringa con una tabella di ricerca (probabilmente utilizzando REGEXMATCH) per restituire la stringa richiesta per GoogleFinance(). Il problema è che il formato nativo, ad esempio, del dollaro americano, è esattamente lo stesso, ad esempio, del dollaro australiano. Tuttavia, è possibile impostare i propri formati numerici personalizzati (ad es. Con USD o AUD aggiunti) che verranno trasferiti alla funzione TO_TEXT.

Quindi probabilmente dovresti descrivere tutti i possibili formati di valuta per arrivare a una soluzione più specifica.

3

Sembra che sia necessario creare una sorta di codifica per i valori della colonna di valuta. Ad esempio:

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

Quindi è necessario analizzare il valore di tale colonna in qualche modo per determinare il tipo di valuta. Oppure potresti avere due colonne. Uno per tipo di valuta e l'altro per il valore di valuta:

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

Tra l'altro, le colonne di valute sono numeri interi in modo da non dover usare la matematica in virgola mobile, che è una bella cosa da evitare nella mia esperienza.

1

Come menzionato da AdamL, è necessario verificare se ci sono valute con gli stessi simboli nell'elenco di dati.

In caso contrario, è possibile effettuare le seguenti operazioni:

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

Questa avrà il suo simbolo di valuta dalla colonna A. La formula è trovare la prima occorrenza di qualcosa numerica e poi (compresi e,.) prendi ciò che è a sinistra per ottenere la valuta.

allora avete bisogno di un tavolo per ogni simbolo al suo ISO 3 lettera di codice in modo da poter utilizzare Google Finanza per ottenere la FX, qualcosa come:

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

Poi si può ottenere il ccy ISO utilizzando VLOOKUP e continuare le formule di cui sopra, qui ho fatto la FX per GBP

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

ho salvato un esempio here.