Cambio valuta Excel: in questo articolo vediamo come realizzare un file dedicato che si aggiorni in automatico con i tassi di cambio e ci permetta di convertire valute in tempo reale. Useremo una combinazione di funzioni Excel e anche Power Query per trasformare i dati presi dal sito Floatrates.
L'articolo è ispirato a questo video di Youtube (in inglese) ma ne rappresenta un ampliamento, dato che seguendo esattamente i passi del video non sarebbe possibile replicare lo strumento se italiani. Per utilizzare al meglio le funzioni dell'articolo, il suggerimento è di utilizzare la versione Excel 365 ma ho aggiunto anche un ulteriore file per versioni precedenti in modo da garantire la compatibilità.
Nota a margine: esiste un add-in di Microsoft chiamato Euroconvert ma personalmente lo trovo limitante come funzionalità, quindi ho pensato di creare questa guida.
Se ti interessa solo il file scarica pure la versione che preferisci. Se invece vuoi scoprire come creare un convertitore di valuta Excel da zero, continua a leggere!
Cambio valuta Excel: tassi di cambio
Iniziamo con un foglio vuoto dal quale dovremo inserire i nostri tassi di cambio. Per seguire la procedura è necessario seguire il percorso:
- Dati -> Recupera e trasforma dati -> Da Web (l'icona con il mappamondo)
A questo punto ci sarà chiesto di inserire un sito. Prendiamo i valori per l'euro del sito Floatrates, che inseriamo nella schermata utilizzando la modalità Di base:
Nella sezione seguente dovremo prima selezionare la tabella che ci serve (Table 0) e poi cliccare su Trasforma dati:
Questo passaggio si rende necessario per uniformare i dati, come vediamo da Power Query.
Cambio valuta Excel: pulizia del database con Power Query
Entriamo in Power Query ma non ti preoccupare, anche se non conosci bene lo strumento faremo solo qualche piccola operazione per pulire il dato. Vedrai in Passaggi Applicati che c'è una voce chiamata Modificato tipo, dobbiamo rimuoverla cliccando sulla X rossa a sinistra.
Il motivo è che Power Query prova a sistemare i dati in automatico, ma in questo caso ci confonde soltanto le idee dato che una delle colonne con i tassi è in formato numerico, mentre l'altra è in formato testuale. Quindi togliamo l'operazione automatica e ripartiamo da zero.
A questo punto dovremmo vedere una schermata come quella seguente.
Vediamo come le colonne di conversione presentino il punto come separatore con i decimali, quindi 1.8 anzichè 1,8 come dovrebbe essere. Questo potrebbe comportare problemi nell'aggiornamento costante del file quindi non possiamo fare una modifica one-shot utilizzando "Trova e sostituisci" da punto a virgola (da . a ,) come faremmo di solito con un file Excel. Andiamo quindi a modificare il tipo di formato direttamente su Power Query cliccando su ABC e poi su Uso delle impostazioni locali...
Ora non ci resta che modificare le impostazioni locali inserendo Numero decimale e Inglese (Stati Uniti), dato che come notiamo i valori di input sono come quelli da noi visualizzati (con punto e virgola invertiti):
Dopo aver cliccato su OK, vedremo come la virgola sia correttamente inserita fra il valore intero e i decimali.
Ripetiamo la procedura per la seconda colonna (in eur) e poi clicchiamo su Chiudi e carica -> Chiudi e carica.
Ora dovremmo avere una tabella come quella visualizzata con tutte le informazioni e i dati inseriti correttamente. Se abbiamo seguito tutto correttamente, i dati si aggiorneranno in automatico dal sito Floatrates a ogni apertura del file e saranno quindi in linea con la situazione attuale permettendoci calcoli precisi in ogni momento.
Cambio valuta Excel: convertitore live
Abbiamo chiamato il foglio con i tassi Tabella. Finalizzata questa parte di creazione del database, passiamo al cuore del nostro file che è il cambio valuta live. Creiamo un nuovo foglio e iniziamo a sistemare il layout. Vogliamo poter:
- inserire la valuta iniziale in B4 e la valuta finale in C4 tramite i rispettivi codici con 3 lettere (EUR, GBP, JPY, USD etc)
- visualizzare la spiegazione della singola valuta nelle celle B3 e C3
- inserire il totale della valuta iniziale in B5 calcolando in automatico il corrispettivo della valuta finale nella cella C5
Per riempire i dati in B3 e C3 ci è sufficiente utilizzare una combinazione per trovare i valori all'interno di una tabella. Inseriamo i valori con la funzione CERCA.X e se troviamo un errore, inseriamo Euro utilizzando la funzione SE.ERRORE:
=SE.ERRORE(CERCA.X(B4;TABELLA!$B:$B;TABELLA!$A:$A);"Euro")
Se hai una versione meno recente di Excel e non trovi la funzione CERCA.X puoi sempre utilizzare la combinazione INDICE CONFRONTA per trovare i dati come segue:
=SE.ERRORE(INDICE(TABELLA!$A:$A;CONFRONTA(B4;TABELLA!$B:$B;0));"Euro")
NB: In fase iniziale abbiamo selezionato Floatrates che indica il corrispettivo di numerose valute rispetto all'Euro. L'inserimento del SE.ERRORE si rende necessario perchè se inseriamo EUR non avremo nessun risultato, dato che non vi è un corrispettivo con EUR nel database iniziale.
Replichiamo la stessa formula in C3 e otteniamo anche in questo caso una spiegazione più dettagliata della valuta scelta.
Adesso passiamo al fulcro del modello che è la formula necessaria per trovare il risultato nella cella C5. Abbiamo i seguenti casi:
- Da Euro a Euro: se B4 e C4 sono EUR, allora il valore in B5 sarà uguale a quello in C5
- Da valutaX a Euro: se C4 fosse EUR, allora dobbiamo moltiplicare il corrispettivo per la valuta inserita in B4 con il valore del tasso di cambio che troviamo nel database iniziale nella colonna D (corrispondente al valore in Euro di una unità di valuta estera)
- Da Euro a valutaX: se B4 fosse EUR, allora dobbiamo moltiplicare il corrispettivo della valuta inserita in C4 con il valore del tasso di cambio che troviamo nel database iniziale nella colonna C (corrispondente al valore in valuta estera di un Euro)
- Da valutaX a valutaX: in questo caso dobbiamo "triangolare", dividendo prima il corrispettivo in Euro della prima valuta in B4 con il valore della seconda valuta in C4 per poi poi moltiplicare il risultato per il valore in B5
In definitiva, la formula è pari a:
=SE(E(B4="EUR";C4="EUR");B5;
SE(C4="EUR";CERCA.X(B4;TABELLA!$B:$B;TABELLA!$D:$D)*B5; SE(B4="EUR";B5*CERCA.X(C4;TABELLA!B:B;TABELLA!C:C);
CERCA.X(B4;TABELLA!$B:$B;TABELLA!D:D)/CERCA.X(C4;TABELLA!$B:$B;TABELLA!$D:$D)*B5)))
Per i fan delle ottimizzazioni, si potrebbe pensare di usare la funzione PIÙ.SE anzichè i vari SE (in versione Excel 365) per aumentare la leggibilità.
Nel caso utilizzassimo una versione meno recente di Excel possiamo evitare di sfruttare CERCA.X convertendo la formula complessiva con la combinazione INDICE CONFRONTA, ottenendo sempre lo stesso risultato:
=SE(E(B4="EUR";C4="EUR");B5;
SE(C4="EUR";INDICE(TABELLA!$D:$D;CONFRONTA(B4;TABELLA!$B:$B;0))*B5; SE(B4="EUR";B5*INDICE(TABELLA!C:C;CONFRONTA(C4;TABELLA!B:B;0));
INDICE(TABELLA!$D:$D;CONFRONTA(B4;TABELLA!$B:$B;0))/INDICE(TABELLA!$D:$D;CONFRONTA(C4;TABELLA!$B:$B;0)))*B5))
Cambio valuta Excel: conclusione
A questo punto abbiamo completato il nostro convertitore di valuta su Excel e possiamo effettuare tutti i cambi valuta che desideriamo con un solo file che si aggiornerà in automatico a ogni apertura!
Sono un formatore e consulente esperto nell’uso e nell’insegnamento di Microsoft Excel.
Negli ultimi 3 anni ho tenuto corsi presso realtà in multinazionali come Aruba, Bridor, IMI Orton, Primadonna e SISAL, oltre a PMI e startup di diverso genere.
Realizzo corsi di formazione Excel dedicati per aziende, supporto professionisti 1:1 a distanza con call mirate e collaboro con aziende offrendo servizi di consulenza quali creazione di business plan, dashboard di vendita e non solo.
Vuoi saperne di più? Prenota una call gratuita di 15′!
Salve, faccio una domanda che non c'entra con l'articolo. Vengo a chiedere se era fattibile con excel 19 fare in modo che mi scompatta un file zip preso dalla lottomatica con dentro un file txt. Esiste un sistema che non sia complicato? Grazie!! Per farla corta essendo questo un file in continuo aggiornamento mi era più comodo farlo fare in automatico 😁
Ciao Luca,
in effetti non è proprio collegato con l'articolo ma proverei a farlo con Power Query! L'estrazione dallo ZIP in TXT non è però automatica, probabilmente avresti bisogno di qualche riga di codice in VBA per selezionare il file > estrarre il file txt > pescare il file txt con Power Query.
A presto,
Marco
Ciao Marco, ho una tabella excel (365) in cui ci sono una serie di valori espressi un HKD.
Vorrei convertire l'intera tabella in EUR in modo automatico. Come posso fare?
Grazie, Stefania
Ciao Stefania,
grazie per la domanda - probabilmente dovrei aggiornare la guida ma nel tuo caso ti basterebbe avere da qualche parte scritto HKD/EUR e poi cliccare su Dati > Tipi di dati > Valute per poi cliccare con il menu contestuale su Prezzo (quello dei Tipi di dati) e dovrebbe funzionare, ho appena provato!
Spero ti sia utile!
A presto,
Marco
Buongiorno Luca,
io ho bisogno di realizzare un foglio Excel per chiedere il rimborso del carburante acquistato in durante il mio lavoro all'estero degli ultimi due anni. Per la conversione degli importi dalla valuta straniera a Euro dovrei usare il sito della Banca d'Italia nel giorno del pagamento del carburante rilevabile da ciascuno scontrino.
Il mio foglio Excel contiene i seguenti dati in distinte colonne: data operazione, numero scontrino, quantità carburante in litri, prezzo per litro, importo totale in valuta straniera.
Dunque la mia domanda è se sia possibile inserire anche una colonna che esegua automaticamente il cambio valuta da pesos a Euro attingendo ai dati del portale della Banca d'Italia del giorno dell'operazione. Questo sarebbe di grande aiuto poiché altrimenti è un' attività che manualmente richiederebbe moltissimo tempo.
Grazie mille per la tua attenzione, attendo tuo saggio parere.
Ciao Stefano,
tutto chiaro ma io mi chiamo Marco 😀
Comunque è un caso interessante - ho trovato questo che magari può aiutarti > https://tassidicambio.bancaditalia.it/terzevalute-wf-ui-web/
Il tema è pescare questi dati da Power Query, mi pare più comodo che in altri modi - una volta che li hai con distinzione anno / mese, puoi associarli poi ai tuoi scontrini!
Fammi sapere come va,
Marco