![](https://cdn.wiki-base.com/6040444/excel_formula_dynamic_lookup_table_with_indirect__2.png.webp)
Formula generica
=VLOOKUP(A1,INDIRECT("text"),column)
Sommario
Per consentire una tabella di ricerca dinamica, è possibile utilizzare la funzione INDIRETTO con intervalli denominati all'interno di CERCA.VERT. Nell'esempio mostrato la formula in G5 è:
=VLOOKUP(F5,INDIRECT(E5),2,0)
sfondo
Lo scopo di questa formula è consentire un modo semplice per cambiare gli intervalli di tabelle all'interno di una funzione di ricerca. Un modo per gestirlo è creare un intervallo denominato per ciascuna tabella necessaria, quindi fare riferimento all'intervallo denominato all'interno di CERCA.VERT. Tuttavia, se provi a dare a CERCA.VERT un array di tabelle sotto forma di testo (ad esempio "tabella1"), la formula fallirà. La funzione INDIRETTO è necessaria per risolvere il testo in un riferimento valido.
Spiegazione
Fondamentalmente, questa è una formula CERCA.VERT standard. L'unica differenza è l'uso di INDIRETTO per restituire un array di tabelle valido.
Nell'esempio mostrato, sono stati creati due intervalli denominati: "table1" (B4: C6) e "table2" (B9: C11) *.
In G5, INDIRETTO raccoglie il testo in E5 e lo risolve nell'intervallo denominato "tabella1", che si risolve in B4: C6, che viene restituito a CERCA.VERT. CERCA.VERT esegue la ricerca e restituisce 12 per il colore "blu" in table1.
In G6, il processo è lo stesso. Il testo in E6 si risolve in "table2", che si risolve in B9: C11. Con lo stesso valore di ricerca, CERCA.VERT restituisce 24.
* Nota: gli intervalli di nomi in realtà creano riferimenti assoluti come $ B $ 9: $ C $ 11, ma ho omesso la sintassi dei riferimenti assoluti per rendere la descrizione più facile da leggere.