Sam usa spesso la funzione CERCA.VERT. È molto utile, ma c’è una grave limitazione: la ricerca può fare riferimento solo alle colonne a destra. Ciò significa che Sam non può utilizzare, come terzo parametro per CERCA.VERT, un valore negativo per fare riferimento a una colonna a sinistra. Si chiede se ci sia un modo per aggirare questa limitazione.

In realtà ci sono tre modi per aggirare questa limitazione: ristrutturazione, utilizzo di INDICE e utilizzo di SCEGLI. Analizzerò ciascuno di questi metodi, a turno.

Ristrutturare i tuoi contenuti

Questo potrebbe essere l’approccio meno desiderabile, ma lo tolgo subito. Se ritieni di dover restituire valori a sinistra della tua ricerca abbastanza spesso, potresti prendere in considerazione la ristrutturazione del foglio di lavoro in modo che i valori siano a destra della formula.

Un metodo alternativo di ristrutturazione consiste nell’utilizzare una colonna helper a destra della formula. Questa colonna helper deve semplicemente fare riferimento ai valori di ritorno effettivi. Ad esempio, se i valori di ritorno sono nella colonna A e la formula è nella colonna E, potresti aggiungere una colonna helper a J.

La formula in J1 sarebbe semplicemente = A1. Copialo, quindi usa la colonna J come valori di ritorno nelle formule nella colonna E.

Usando INDEX e MATCH

Forse l’approccio più comune al problema che Sam sta riscontrando è usare una combinazione delle funzioni INDICE e CONFRONTA invece di CERCA.VERT. Ad esempio, supponiamo di avere la seguente formula CERCA.VERT:

=VLOOKUP(G1,$C$1:$E$100,3,TRUE)

Questo cerca nell’intervallo C1: C100 il valore in G1 (come corrispondenza approssimativa) e ottiene il valore corrispondente in E1: E100. Questa formula è equivalente alla seguente formula:

=INDEX($E$1:$E$100,MATCH(G1,$C$1:$C$100,1))

Quindi, se vuoi ottenere una colonna a sinistra della tua colonna di ricerca (ad esempio A1: A100), potresti usare qualcosa come:

=INDEX($A$1:$A$100,MATCH(G1,$C$1:$C$100,1))

Se vuoi una corrispondenza esatta restituita dalla ricerca, tutto ciò che devi fare è cambiare l’1 finale nella funzione MATCH in uno 0, in questo modo:

=INDEX($A$1:$A$100,MATCH(G1,$C$1:$C$100,0))

Utilizzando CERCA.VERT e SCEGLI

Se si desidera effettivamente continuare a utilizzare la funzione CERCA.VERT nella formula, è possibile “ingannarla” nel recuperare i valori a sinistra includendo anche la funzione SCEGLI.

Per illustrare ciò, supponiamo che i valori di ricerca siano nella colonna D e i valori restituiti siano nella colonna A. Nella cella G1 è il valore di ricerca. La seguente formula restituirà i valori corretti:

=VLOOKUP(G1,CHOOSE({1,2},$D$1:$D$100,$A$1:$A$100),2,FALSE)

La funzione SCEGLI restituisce un array costituito dalle celle indicate.

La funzione CERCA.VERT restituisce quindi un valore dalla seconda colonna di quell’array, che è semplicemente la colonna A, a sinistra della colonna D.

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

Questo suggerimento (13608) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.