13 Le funzioni di ricerca e riferimento Come si evince dal titolo della presente lezione queste funzioni permettono di cercare un valore in una tabella di riferimento e riportarlo in un altra posizione della cartella di lavoro. Le più comuni funzioni di ricerca sono il Cerca.Vert e il Cerca.Orizz che consentono, rispettivamente, di ricercare un valore contenuto nella prima colonna di una tabella e restituire un valore che si trova nella stessa riga della tabella ma in un altra colonna e di cercare un valore che si trova nella prima riga di una tabella e restituire un valore che si trova nella stessa colonna della tabella, ma in un altra riga. Poiché le tabelle di Excel hanno normalmente un estensione verticale, la più usata di queste funzioni è senza dubbio Cerca.Vert. Naturalmente abbiamo bisogno di un esempio per capire questa funzione. Utilizziamo il file elenco_clienti_fatturazione. Nel foglio denominato Foglio_fattura abbiamo già inserito la ragione sociale del nostro cliente attraverso la Convalida dati. Vogliamo che Excel inserisca autonomamente l indirizzo, il C.A.P., la città e la partita I.V.A. prendendole dal foglio elenco_clienti. Per prima cosa andiamo nel foglio Elenco_clienti, selezioniamo le celle da A2 a J12 e nominiamole con il nome Dati usando il pulsante Definisci nome che troviamo nella scheda Formule. Torniamo quindi nel Foglio_fattura e posizioniamoci nella cella H15: qui deve apparire l indirizzo del cliente. Per far si che ciò che accada inseriamo la funzione Cerca.Vert (Inserisci FunzioneRicerca e riferimentocerca.vert) (vedi Figura 1). Figura 1- La funzione Cerca.Vert. www.lezione-online.it 1
La Figura 2 ci mostra invece i quattro argomenti che compongono la funzione. Figura 2 - Gli argomenti di Cerca.Vert Analizziamoli uno per uno e compiliamoli: Valore è il valore da ricercare nella prima colonna della tabella e può essere un valore, un riferimento o una stringa di testo: in pratica dobbiamo dire ad Excel in quale cella della tabella abbiamo scritto il nome del cliente. Si tratta, nel nostro esempio, della cella H14. Matrice_tabella: La tabella nella quale vengono ricercati i dati; può essere un riferimento ad un intervallo o ad un nome di intervallo. In pratica: dove deve andare Excel per cercare i dati, fra i quali l indirizzo, dei quali abbiamo bisogno? La risposta è dati, cioè il gruppo di celle del Foglio Elenco_clienti che abbiamo nominato in precedenza. Nel campo scriveremo quindi semplicemente dati. Indice: è il numero di colonna in matrice_tabella da cui viene restituito il valore corrispondente. La prima colonna di valori nella tabella è la colonna 1. Excel vuole sapere quindi qual è la colonna dalla quale deve estrarre i dati. Ci verrebbe spontaneo scrivere B, dato che nella colonna B si trovano gli indirizzi. Però, dobbiamo indicare questa colonna sotto forma di numero, dato che stiamo lavorando con una matrice. Scriveremo quindi 2, essendo B la seconda colonna Intervallo: è un valore logico: per trovare la corrispondenza più simile nella prima colonna: VERO; trova una corrispondenza esatta = FALSO. Quindi, se vogliamo trovare nella tabella di ricerca un valore identico a quello che stiamo cercando scriveremo FALSO, se ce ne basta uno simile metteremo VERO. Siccome stiamo cercando un testo (la ragione sociale) ed Excel ci deve restituire www.lezione-online.it 2
un altro testo (l indirizzo) abbiamo bisogno obbligatoriamente di un valore esatto e quindi scriveremo FALSO. La nostra funzione per esteso è la seguente: =CERCA.VERT(H14;Dati;2;FALSO) Vediamo anche la finestra della funzione compilata nella Figura 3. Figura 3 - La funzione Cerca.Vert compilata A questo punto appena scegliamo un cliente nella nostra fattura in automatico appare l indirizzo. Possiamo quindi proseguire per creare altre due funzioni Cerca.Vert per la compilazione di C.A.P., città e Partita I.V.A. Proviamo ad applicare questa funzione, importante ma sicuramente non molto immediata, ad un altro esempio. Apriamo il file Venditori: esso contiene l elenco dei fatturati mensili realizzati dagli agenti di commercio di un ipotetica società. Superata una determinata quota di fatturato gli agenti ricevano un bonus in %, da aggiungere alla loro normale provvigione. Attraverso l utilizzo del Cerca.Vert, dobbiamo far si che il bonus appaia nella tabella principale, in modo da non doverlo cercare manualmente. Andiamo quindi nella cella D2 ed inseriamo la funzione Cerca.Vert: nel campo Valore scriveremo C2 (la cella nella quale è scritto il fatturato del primo venditore, ovvero il dato che Excel deve conoscere per effettuare la ricerca); in Matrice_tabella, visto che non abbiamo effettuato l operazione di definizione del nome alle celle, inseriremo www.lezione-online.it 3
l intervallo di riferimento $G$3:$H$11 1 ; in Indice metteremo 2, dato che la colonna dalla quale Excel deve restituire il dato è la seconda ed infine in Intervallo inseriremo VERO, poiché in questo caso Excel non potrà nell elenco dei bonus trovare la cifra esatta riportata nella tabella e dovrà quindi restituire un dato approssimato (vedi Figura 4). Figura 4 - Intervallo VERO. Excel in realtà cercherà il valore inferiore più simile a quello cercato; in pratica quando un venditore avrà fatturato 11.000,00 (valore non presente nell elenco dei bonus) il risultato che visualizziamo sarà 5%. Si tratta di un risultato corretto poiché in quest azienda per raggiunge il bonus del 7% bisogna aver fatturato 12.500,00 (vedi Figura 5). 1 I riferimenti assoluti sono indispensabili; senza di essi il trascinamento della funzione farebbe cambiare i riferimenti nel campo Matrice_tabella restituendo dei risultati completamente sbagliati. www.lezione-online.it 4
Figura 5 - Funzione Cerca.Vert completata. Come vedete nella riga 9 il risultato proposto è #N/D (non disponibile) poiché nella tabella dei bonus non è elencato il caso in cui un venditore fatturi meno di 10.000,00 in un mese. Poiché #N/D per il programma è un errore, diventerà impossibile utilizzare la cella che lo contiene per eseguire altri calcoli 2. Sarebbe quindi il caso di aggiungere il caso in cui un venditore fatturi meno di 10.000,00 nella tabella dei bonus, sebbene in quella circostanza egli non ottenga alcun bonus. Aggiungiamo quindi una riga fra la seconda e la terza digitiamo 0,00 nel fatturato e 0% nella colonna bonus. 2 Se, per ipotesi, sommiamo un numero con una cella che contiene un errore Excel restituirebbe come risultato un altro errore. www.lezione-online.it 5