Vai al contenuto

Cambio valuta Excel

CAMBIO_VALUTA_EXCEL_FINALE

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_FINALE

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)
CAMBIO_VALUTA_EXCEL_INIZIO

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:

CAMBIO_VALUTA_EXCEL_SITO

Nella sezione seguente dovremo prima selezionare la tabella che ci serve (Table 0) e poi cliccare su Trasforma dati:

CAMBIO_VALUTA_EXCEL_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.

CAMBIO_VALUTA_EXCEL_RIMOZIONE_MODIFICA

A questo punto dovremmo vedere una schermata come quella seguente.

CAMBIO_VALUTA_EXCEL_PARTENZA_POWER_QUERY

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...

CAMBIO_VALUTA_EXCEL_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):

CAMBIO_VALUTA_EXCEL_IMPOSTAZIONI_STATI_UNITI

Dopo aver cliccato su OK, vedremo come la virgola sia correttamente inserita fra il valore intero e i decimali.

CAMBIO_VALUTA_EXCEL_IMPOSTAZIONI_COLONNA1

Ripetiamo la procedura per la seconda colonna (in eur) e poi clicchiamo su Chiudi e carica -> Chiudi e carica.

CAMBIO_VALUTA_EXCEL_IMPOSTAZIONI_COLONNA2

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_TABELLA_LIVE

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
CAMBIO_VALUTA_EXCEL_LAYOUT

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.

CAMBIO_VALUTA_EXCEL_DESCRIZIONE_VALUTE

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_FORMULA_CONVERSIONE

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!

CAMBIO_VALUTA_EXCEL_FINALE

6 commenti su “Cambio valuta Excel”

  1. 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 😁

    1. 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

  2. STEFANIA BONINSEGNA

    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

    1. 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

  3. 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *