Le Funzioni CERCA.VERT (lo stesso sarà anche per CERCA.ORIZ) e CONCATENA.

Ancora un esercizio sulla Funzione CERCA.VERT (vedi sito http://ennius.interfree.it , sezione Formule, articolo "Funz.=CERCA.VERT", per spiegazioni sulla funzione).

Come sappiamo, la funzione richiede che venga fornito il dato da cercare, e che si indichi la zona dove cercare, precisando quale campo (colonna) vogliamo in restituzione quando il dato cercato viene trovato.

Il dato da cercare si chiama "criterio di ricerca", e la funzione può accettare soltanto un solo "criterio di ricerca". Ma vediamo una sintassi che serve ad interpretare la funzione ed i suoi argomenti.

=CERCA.VERT(area dati dove cercare; criterio di ricerca; colonna che fornisce il dato da restituire; tipo di ricerca)

come si nota, gli argomenti (scritti in corsivo), devono essere separati da un punto e virgola ( ; )

con tipo di ricerca dobbiamo precisare una di queste due parole:

  • FALSO - con falso vogliamo che la ricerca del  criterio di ricerca venga effettuata precisa, cioè il dato da trovare nell'area dati sarà cercato uguale al criterio di ricerca.

  • VERO - con vero sarà invece cercato il valore maggiore, immediatamente inferiore al valore del criterio di ricerca. (esempio: se 10 è il criterio di ricerca, la funzione cercherà in un elenco di numeri da 1 a 10, e troverà il 9).

Ancora una cosa: la funzione effettua la ricerca nell' area dati sempre nella prima colonna a sinistra che forma l'area stessa. e si ferma inevitabilmente al primo valore uguale al criterio di ricerca, anche se ne esiste più di uno uguale.

Fatte queste premesse di riepilogo, vediamo cosa ci combina in questo articolo la funzione CONCATENA.

Supponiamo di avere, nell'area dati dove cercare, una tabella così composta:

  A B C D E F G

1

 Cognome  Nome  Indirizzo  Città  Telefono  Cellulare  
2  Pippo  Pluto   wwwww  uuuuuh  9999999  10101010  
3  Pippo  Placido

  qqqqqqq

 ahahah  1111111  20202020  

Le colonne A e B contengono i campi separati di Cognome e Nome. Volendo eseguire una ricerca in questa area di un nominativo per ottenere il suo numero di telefono, potremmo usare la funzione Cerca.Vert, dovremmo usare come criterio di ricerca il solo Cognome, perchè è il campo più a sinistra ed è lì che Cerca.Vert agisce. E se esistono più cognomi uguali? La funzione troverà sempre il primo. Bisognerebbe poter cercare Cognome e Nome che riducono le possibilità di omonimia, ma la funzione non solo non accetta due criteri di ricerca, ma non può svolgere la ricerca in due campi nè contemporaneamente, nè alternativamente. Ecco che ci può aiutare la funzione CONCATENA che ci consente di unire Cognome e Nome in modo che diventino un unico criterio di ricerca.

La funzione CONCATENA consente di unire in un unico testo fino a 30 diversi elementi di testo. La sua sintassi è semplice:

  • CONCATENA (testo1;testo2;...) Gli elementi di testo possono essere stringhe di testo, numeri o riferimenti di celle singole. Se in A1 abbiamo Pippo e in B1 abbiamo Pluto, potremo scrivere la funzione in qualsiasi altra cella, così:  =CONCATENA(A1;B1) ed avremo restituito PippoPluto come unico testo (o se preferite: parola). Oppure potremo usare la funzione come argomento di un'altra funzione, cioè al posto del criterio di ricerca nella funzione CERCA.VERT

  • Alternativa all'impiego della funzione, per ottenere il medesimo risultato, è l'utilizzo dell'operatore di concatenazione " & " .Questa formula infatti ottiene lo stesso risultato: =A1&B1 e nella cella dove avremo posto questa formula avremo PippoPluto.

Vediamo quindi i due esempi di come comporre la ricerca, ma dobbiamo fare una premessa: dove prendiamo i dati che formeranno il criterio di ricerca ? Normalmente useremo due celle dove avremo, o per scrittura diretta, o per selezione da una ListBox o ComboBox (ActiveX), o usando Convalida, il cognome e il nome; supponiamo quindi che useremo le celle D2 dove avremo Pippo, e E2 dove avremo Pluto, del Foglio2, e che vorremo ottenere il numero di telefono correlato (che si trova nel campo 5 partendo da sinistra (colonna E)

  • =CERCA.VERT(Foglio1!A2:F100;CONCATENA(D2;E2);5;FALSO)  o l'alternativa:

  • =CERCA.VERT(Foglio1!A2:F100;(D2&E2);5;FALSO)

Queste formule, peraltro esatte, generano un errore: infatti cercheranno PippoPluto nella colonna A del foglio 1, dove invece abbiamo solo il Cognome. Soluzione: bisogna creare una colonna in più nella tabella dati dove concatenare anche nella tabella il Cognome e Nome in modo che Cerca.Vert possa trovare le corrispondenze esatte. Poichè abbiamo detto che la funzione cerca SEMPRE nella prima colonna a sinistra di una tabella, dovremo usare la colonna A, spostando di una colonna tutta la tabella, così:

  A B C D E F G

1

   Cognome  Nome  Indirizzo  Città  Telefono  Cellulare
2  PippoPluto  Pippo  Pluto  wwwww  uuuuuh  9999999  10101010
3  PippoPlacido  Pippo

 Placido

 qqqqqqq  ahahah  1111111  20202020

Nelle celle della colonna A, a partire dalla cella A2, inseriremo, trascinando poi verso il baso per aggiornare i riferimenti alle celle, questa formula =B2&C2 per ottenere la concatenazione del cognome col nome. Ovviamente tutta la tabella si trova modificata e quindi le formule Cerca.Vert diventeranno (in grassetto i cambiamenti):

  • =CERCA.VERT(Foglio1!A2:G100;CONCATENA(D2;E2);6;FALSO)  o l'alternativa:

  • =CERCA.VERT(Foglio1!A2:G100;(D2&E2);6;FALSO)

e nella cella dove avremo messo la formula otterremo il numero di telefono. 9999999

Consiglio: una situazione del genere la si risolve meglio se si imposta una tabella con una sola colonna dove inserire Cognome e Nome; si ammattisce di meno e si risparmia tempo e fatica usando anche una sola cella per immettere il criterio di ricerca, ma ognuno è libero di agire come crede.

 

Buon lavoro

prelevato sul sito www.ennius.altervista.org