John ha una tabella di ricerca dei valori numerici crescenti nella colonna A e dei valori di testo corrispondenti nella colonna B. Quando utilizza la funzione CERCA.VERT restituisce il valore di testo per il valore numerico uguale o inferiore al valore di ricerca specificato. John vuole davvero che il primo valore sia uguale o maggiore del valore di ricerca.

Non è possibile modificare il funzionamento di CERCA.VERT; corrisponderà sempre al valore uguale o inferiore al valore di ricerca. Un’opzione, tuttavia, è modificare la formula utilizzata per eseguire la ricerca effettiva. Considera la seguente formula, che presuppone che il valore che desideri utilizzare per la tua ricerca sia nella cella D1:

=IF(VLOOKUP(D1,$A$1:$A$10,1)=D1,VLOOKUP(D1,$A$1:$B$10,2), INDEX($B$1:$B$10,1+MATCH(D1,$A$1:$A$10)))

Se il valore in D1 è una corrispondenza esatta con un valore nella colonna A, viene utilizzata la normale formula CERCA.VERT. In caso contrario, CERCA.VERT viene abbandonato a favore della funzione INDICE insieme alla funzione CONFRONTA.

Se sei in grado di ordinare la tua tabella dati in ordine decrescente, puoi utilizzare una formula più breve:

=INDEX($A$1:$B$10,MATCH(D1,$A$1:$A$10,-1),2)

La funzione CONFRONTA utilizza il valore D1 per cercare il valore più piccolo maggiore o uguale a tale valore. (Questo è ciò che specifica il parametro -1). La funzione CONFRONTA restituisce il numero di riga della riga corretta, quindi questo viene utilizzato da INDICE per recuperare effettivamente il valore.

Un altro approccio interessante al problema consiste nell’utilizzare l’inverso dei valori di ricerca come una colonna di controllo che verrà utilizzata per cercare effettivamente le informazioni dalla tabella dei dati. Ad esempio, supponiamo che la tabella dei dati sia in A1: B10, con i valori numerici effettivi utilizzati per la ricerca nella colonna A. È necessario inserire una colonna a sinistra della tabella dei dati. Nella prima cella di questa nuova colonna (ora colonna A), inserisci la seguente formula:

=1/B1

Ciò fornisce l’inverso del valore in B1 e puoi copiarlo nelle celle nella colonna A. La tabella dei dati ora ha tre colonne, A1: C10.

Successivamente, ordina la tabella dei dati in base a questa nuova colonna, in ordine crescente.

Ora apporti una leggera modifica alla tua formula di ricerca in modo che cerchi l’inverso di ciò che desideri. Supponendo che il valore che vuoi usare per la tua ricerca sia nella cella E1, dovresti usare la seguente formula:

=VLOOKUP(1/E1,$A$1:$C$10,3)

Ciò che effettivamente si ottiene è il valore desiderato, dalla colonna C, che è associato al valore nella colonna B che è uguale o inferiore al valore in E1.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (3090) si applica a Microsoft Excel 97, 2000, 2002 e 2003.