Convertire le valute con Excel: importare dati dal web
 

 Come fare a...

 
  • feb
    07
    20
    12

    Convertire le valute con Excel: importare dati dal web

    System Account
    06:09 AM

    In questo articolo su Excel impareremo a importare dati sempre aggiornati da Internet. In particolare, vedremo come avere un listino prezzi automaticamente convertito in dollari americani in base al cambio più attuale.

    Molto spesso, su Internet si trovano dati che ci possono fare comodo e, se lavoriamo, come ormai capita in molti uffici, sempre connessi alla rete, possiamo importare questi dati in un file Excel e utilizzarli per i calcoli che ci servono, sicuri del fatto che siano sempre aggiornati.

    Noi partiremo dal file ElenchiTesto, che si trova sul booksite del libro da cui è tratto questo articolo.
    Si tratta di un elenco di prodotti con il loro prezzo in euro. Vogliamo che, ogni giorno, sia calcolata la conversione in sterline di questi prezzi al cambio attuale.
    Aggiungiamo dunque al file un foglio, in cui importeremo i dati di cambio.
    Se fate una ricerca su Internet, trovate sicuramente molti siti che offrono questi dati. Noi abbiamo scelto di usare per il nostro esercizio il sito Exchange-Rates.org visibile in figura 1.
    Notate che la pagina contiene “più” di quanto ci serve. I dati di cui abbiamo bisogno sono solo quelli della tabella segnata con una freccia nella figura 1. Questo non è un problema. In fase di importazione, infatti, possiamo decidere quale porzione della pagina ci occorre. La cosa a cui badare è che i dati da importare abbiano una struttura “tabulare” che possa adattarsi a Excel. La tabella della pagina, in questo senso, è perfetta per noi.

    Figura 1
    Figura 1: la pagina con i tassi di cambio aggiornati

    Copiate l’indirizzo della pagina da importare, poi tornate al file Excel nel nuovo foglio di lavoro. A questo punto, avviamo la procedura di importazione dei dati.
    Portatevi nella scheda Dati e, nel gruppo Carica dati esterni, premete il pulsante Da Web, Excel vi mostrerà la finestra Nuova query web, visibile in figura 2.
    Nella casella Indirizzo, incollate (o digitate) l’indirizzo della pagina che contiene i cambi. Poi premete Vai.
    Le porzioni di pagina che si possono importare sono segnalate da una freccia gialla. Se passate col mouse sopra una di queste frecce vedrete qual è l’area che potete importare selezionando quella freccia. Noi abbiamo scelto di importare tutta la tabella facendo clic sulla freccia più in alto. Quando una freccia è selezionata si trasforma in un segno di spunta su fondo verde.

    Figura 2
    Figura 2: la finestra Nuova query web

    Dopo che avete selezionato la porzione da importare, premete il pulsante Importa.
    Excel vi chiederà di specificare da quale cella volete cominciare a incollare i dati importati. Se non avete particolari esigenze, inserite i dati importati a partire da A1.
    Attendete il tempo necessario per importare i dati. Il vostro foglio Excel ora dovrebbe presentarsi come nella figura 3 (anche se i dati saranno diversi, visto che variano ogni giorno).
    I dati importati si aggiornano automaticamente ogni volta che riaprite il file (purché siate connessi a Internet).
    In ogni caso, è possibile in qualsiasi momento forzare l’aggiornamento, dopo aver fatto clic all’interno della tabella: basta premere il pulsante Aggiorna tutti, nel gruppo Connessioni della scheda Dati.
    Perché l’aggiornamento funzioni correttamente, comunque, è bene non spostare i dati in altre celle, né tagliarne una parte o lavorarci troppo (anche perché le modifiche verrebbero eliminate dall’aggiornamento).

    Figura 3
    Figura 3: i dati importati

    Piuttosto, se avete bisogno di effettuare lavori particolari sui dati, riportateli in un altro foglio.
    Ipotizziamo, per esempio, di voler ordinare i dati importati in base al loro valore rispetto all’euro, cioè in base alla colonna C,
    e di voler eliminare le colonne E e F, che contengono informazioni che non ci servono.
    Non dobbiamo assolutamente fare delle modifiche nel foglio con i dati importati che deve rimanere, il più possibile, intatto.
    Aggiungete dunque un foglio e scrivete nella cella A1 di questo nuovo foglio:

    =‘Dati importati’! A1

    dove ‘Dati importati’ è il nome del foglio che contiene i dati importati.
    Trascinate il contenuto di questa cella fino a riportare tutti i dati. Nel nostro caso dobbiamo trascinare fino alla cella J10.
    A questo punto potete lavorare con questi dati copiati come volete.
    Per esempio, possiamo eliminare le colonne E e F, quindi applicare un ordinamento crescente alla colonna C. come mostrato nella figura 4. Possiamo anche formattare come desideriamo il prospetto.

    Figura 4
    Figura 4: i dati importati riportati in un nuovo foglio ed elaborati

    Usare i dati importati 

    Per concludere questo articolo proviamo a usare i dati importati per convertire in sterline il nostro listino.
    Per comodità, assegniamo il nome Sterlina alla cella che contiene il valore della sterlina nel foglio con i dati Importati. Per noi è la cella C21 del foglio Dati importati visto in figura 3.
    Ora ci spostiamo sul primo foglio col listino e nella cella C2 scriviamo la formula:

    =B2*sterlina

    (ricordiamo che i prezzi in euro sono memorizzati nella colonna B).
    Ora trasciniamo la formula per tutta la colonna e applichiamo alla colonna C un formato Contabilità o Valuta che usi il simbolo della sterlina inglese, come mostrato in figura 5.

    Figura 5
    Figura 5: il listino convertito in sterline

    La questione dei decimali 

    Quando si importano dati dal web si deve mettere in conto il problema dell’uso dei separatori dei decimali e delle migliaia.
    Il web, per sua stessa natura, è “internazionale”, quindi non è escluso che i dati che ci servono utilizzino separatori diversi da quelli del nostro sistema.
    Purtroppo, a differenza di quello che abbiamo visto per l’importazione da testo, la query web non dispone di un metodo per specificare i separatori usati nel sito da cui stiamo importando.
    Vediamo allora come possiamo procedere. Proviamo a lavorare con i dati del sito Xe, visibile in figura 6.
    Per impostazione predefinita, Excel importa i dati dal web senza formattazione, ma tenta ugualmente di riconoscerli.
    È possibile disabilitare questo riconoscimento per le date, ma non per i numeri.
    Per disabilitare il riconoscimento, nella finestra Nuova query web, che abbiamo visto in figura 2, premete il pulsante Opzioni, in alto a destra.

    Figura 6
    Figura 6: la pagina da importare usa il punto come separatore dei decimali

    Nota 
    Quando tentate di importare i dati dal sito Xe, potreste visualizzare una finestra che vi informa che si è verificato un errore in uno script della pagina e vi chiede se desiderate proseguire l’esecuzione dello script. Premete il pulsante No per continuare senza problemi. 

    Vedrete la finestra Opzioni query web, mostrata in figura 7.
    Notate che l’opzione Disattiva riconoscimento della data vi permette di disattivare il riconoscimento delle date. I dati numerici di tipo “data” verranno importati come testo semplice. Potreste poi usare le funzioni di testo per elaborare questi dati nella forma che preferite.
    Come notate, è attiva anche l’opzione Nessuna, nella sezione Formattazione. Nonostante questo, però, al momento dell’importazione, Excel cerca di interpretare i dati numerici come numeri.

    Figura 7
    Figura 7: la finestra Opzioni query web

    Il risultato è sconfortante. I numeri che cominciano con lo zero sono trattati come testi (altrimenti lo zero a sinistra verrebbe cancellato), mentre gli altri vengono trattati come numeri non decimali e viene aggiunto loro un separatore delle migliaia. Per rendersene conto, basta osservare l’allineamento dei valori: ciò che viene interpretato come testo è allineato a sinistra, mentre ciò che è interpretato come numero viene allineato a destra, come visibile in figura 8.

    Figura 8
    Figura 8: il risultato dell’importazione

    Per evitare questa strana interpretazione dei numeri, si potrebbe applicare il formato testo (tasto destro  Formato celle  Testo) alle celle che ospiteranno i dati importati prima di importarli. Anche in questo caso, però, non otteniamo una soluzione totalmente soddisfacente, perché i numeri che non cominciano con zero perdono ogni separatore e quindi, di fatto, perdono il loro valore reale, come visibile in figura 9.

    Figura 9
    Figura 9: numeri trattati tutti come testo

    In questo caso specifico sappiamo che tutti i numeri hanno la parte intera composta da una sola cifra. Dunque, lavorando con le funzioni di testo di Excel, potremmo rimediare, anche se la cosa non è semplice.

    Nota
    La funzione da usare per la conversione delle celle numeriche è complessa. Immaginando che il primo dei valori numerici sia nella cella C/, la formula da usare sarebbe:
    =SE(VAL. ERRORE(RICERCA(“. ”; C7)) ;CONCATENA(SINISTRA(C7; 1) ;“, ”; DESTRA(C7; LUNGHEZZA(C7) -1)) ;SOSTITUISCI(C7; “. ”; “, ”))
    Con la funzione RICERCA, vediamo se la cella contiene il carattere punto (.). Se la cella non contiene questo carattere, la funzione restituisce un errore. Con una funzione SE, andiamo dunque a verificare se questa funzione restituisce un errore ricorrendo alla funzione VAL. ERRORE. Se restituisce un errore creiamo un nuovo testo concatenando il primo numero del testo, una virgola e la parte finale del testo, altrimenti usiamo la funzione SOSTITUISCI per sostituire il punto presente nel numero con la virgola. Al momento questi numeri sono ancora testi. Vanno moltiplicati per 1 per trasformarli in numeri.
    Trovate un esempio svolto nel file QueryWebConversioni.

     

     

     

    Piuttosto si potrebbero invertire i separatori appena prima di importare i dati, in modo che Excel riconosca correttamente i numeri che importa.
    Una volta importati i numeri, si possono riattivare i separatori di sistema: a questo punto Excel mostra i numeri corretti con la virgola come separatore dei decimali.
    Se aggiornate i dati, però, questi vengono reimportati in modo scorretto.
    Per “salvare” i dati importati, prima di effettuare qualsiasi aggiornamento copiateli e incollateli in un nuovo foglio come valori.
    Purtroppo questi dati non si aggiorneranno più in tempo reale, ma una soluzione definitiva che garantisca sia l’interpretazione corretta dei dati sia il loro aggiornamento non esiste.
    Bisogna, di volta in volta, cercare il compromesso più adatto alle proprie esigenze.

    Il libro
     

    Problemi e soluzioni con Excel 2a edizione
    Alle volte le conoscenze teoriche non bastano, ma è necessario vedere applicate le nozioni alla pratica quotidiana. È proprio ciò che si prefigge questo libro: mostrare soluzioni pratiche ai problemi più comuni. Il libro propone diversi esempi pratici e casi reali che possono presentarsi nel lavoro con Microsoft Excel (versioni 2003, 2007, 2010) e che potrebbero mettere in difficoltà l’utente. Ad ogni problema proposto si fa seguire la possibile soluzione. Da questa carrellata il lettore potrà trovare spunto per la soluzione dei suoi problemi concreti di ogni giorno. File di esempi ed esercizi disponibili online (booksite).

    Acquista online

    L’autore
    Alessandra Salvaggio è titolare di uno studio di consulenza informatica che si occupa di pubblicazioni, formazione e web authoring. Da anni tiene corsi di informatica presso centri di formazione professionale, scuole e aziende. Collabora con riviste di informatica e grafica. Per Edizioni FAG è autrice di manuali di scrittura, formulari e varie guide su MS Office, macro e VBA.

     
Seguici su Twitter Trovaci su Facebook