Funzione CERCA.VERT

Ultima modifica: 21-06-2016

 

Quando usiamo la Funzione CERCA.VERT può succedere che il risultato visualizzato non è quello atteso.

La tabella sottostante mostra un eventuale quadro che vorremmo sottoporre alla nostra analisi eseguita con la Funzione CERCA.VERT.

Nella cella F2 c'è il valore da cercare nella tabella presentata qui sotto.

  A B C D E F G
1 Mese Entrate Uscite Deposito      
2 Gennaio 938 735 203   Gennaio Valore da cercare
3 Febbraio 709 1069 -360      
4 Marzo 2022 303 1719      
5 Aprile 296 1253 -957   938 Qui la Funzione:
6 Maggio 747 535 212      
7 Giugno 912 642 270     =CERCA.VERT(F2;A2:D13;2)
8 Luglio 1629 643 986      
9 Agosto 1668 297 1371      
10 Settembre 1440 271 1169      
11 Ottobre 1692 86 1606      
12 Novembre 2338 603 1735      
13 Dicembre 791 1085 -294      

normalmente usiamo questa sintassi:

=CERCA.VERT(F2;A2:C10;2)

dove

In questa tabella prima o poi ci accorgeremo che non sempre il valore restituito è quello atteso. Infatti, se nella cella dove dobbiamo immettere il valore (mese) da cercare scriviamo Febbraio, cominciamo a vedere un fastidiosissimo #N/D

 

  A B C D E F G
1 Mese Entrate Uscite Deposito      
2 Gennaio 938 735 203   Febbraio Valore da cercare
3 Febbraio 709 1069 -360      
4 Marzo 2022 303 1719      
5 Aprile 296 1253 -957   #N/D Qui la Funzione:
6 Maggio 747 535 212     =CERCA.VERT(F2;A2:D13;2)
7 Giugno 912 642 270      
8 Luglio 1629 643 986      
9 Agosto 1668 297 1371      
10 Settembre 1440 271 1169      
11 Ottobre 1692 86 1606      
12 Novembre 2338 603 1735      
13 Dicembre 791 1085 -294      

 

Vediamo come mai abbiamo questo strano comportamento.

La giusta sintassi del CERCA.VERT è:

CERCA.VERT(valore;tabella_matrice;indice;intervallo)

valore è il valore da cercare
tabella_matrice è la tabella dove cercare
indice è il numero della colonna da cui vogliamo estrarre il dato trovato
intervallo è un valore logico: VERO o FALSO

La sintassi usata in questo esempio è:

=CERCA.VERT(F2;A2:C10;2)

 

La sintassi usata non è sbagliata. Infatti è lecito omettere, nella funzione, l'ultimo argomento.

Infatti nella guida in linea si legge:

Intervallo è un valore logico che specifica il tipo di ricerca che CERCA.VERT dovrà eseguire. Se è VERO o è omesso, verrà restituita una corrispondenza approssimativa.

Quindi essendo questo argomento omesso viene usato il valore di default: "VERO".

 

Tuttavia la stessa guida in linea aggiunge:

Se intervallo è VERO, i valori nella prima colonna di tabella_matrice dovranno essere disposti in ordine crescente: ...; -2; -1; 0; 1; 2; ...; A-Z; FALSO; VERO. In caso contrario, CERCA.VERT potrebbe non restituire il valore corretto. Se intervallo è FALSO, non sarà necessario ordinare tabella_matrice.

 

Nella tabella proposta come esempio, nella prima colonna abbiamo i mesi. Ovviamente questi, anche se posti nel giusto ordine, non rispettano la sequenza alfabetica. Per questo motivo il risultato che si ottiene con la funzione potrebbe riservarci sorprese non gradite (vedi l'esempio ottenuto col mese di Febbraio nella tabella qui sopra).

Ne consegue che, essendo la tabella proposta non ordinata in ordine crescente nella prima colonna, occorre che nella funzione CERCA.VERT sia aggiunto anche l'ultimo argomento facoltativo che, in questo caso, deve essere FALSO.

=CERCA.VERT(F2;A2:C10;2;FALSO)

Nella tabella qui sotto possiamo finalmente vedere il risultato che ci aspettiamo.

 

  A B C D E F G
1 Mese Entrate Uscite Deposito      
2 Gennaio 938 735 203   Febbraio Valore da cercare
3 Febbraio 709 1069 -360      
4 Marzo 2022 303 1719      
5 Aprile 296 1253 -957   709 Qui la Funzione modificata:
6 Maggio 747 535 212     =CERCA.VERT(F2;A2:D13;2;FALSO)
7 Giugno 912 642 270      
8 Luglio 1629 643 986      
9 Agosto 1668 297 1371      
10 Settembre 1440 271 1169      
11 Ottobre 1692 86 1606      
12 Novembre 2338 603 1735      
13 Dicembre 791 1085 -294