Formula generica
=VLOOKUP(val,INDIRECT("'"&sheet&"'!"&"range"),col,0)
Sommario
Per creare una ricerca con un nome di foglio variabile, è possibile utilizzare la funzione CERCA.VERT insieme alla funzione INDIRETTO.
Nell'esempio mostrato, la formula in C5 è:
=VLOOKUP($B5,INDIRECT("'"&C$4&"'!"&"B5:C11"),2,0)
Spiegazione
Le schede "mese" del foglio di lavoro contengono una tabella simile a questa:
Le formule CERCA.VERT nella scheda di riepilogo cercano ed estraggono i dati dalle schede del mese, creando un riferimento dinamico al nome del foglio per ogni mese.
Il valore di ricerca viene immesso come riferimento misto $ B5, con la colonna bloccata per consentire la copia nella tabella.
Il table_array viene creato utilizzando la funzione INDIRECT in questo modo:
INDIRECT("'"&C$4&"'!B5:C11")
Il riferimento misto C $ 4 si riferisce alle intestazioni di colonna nella riga 4, che corrispondono ai nomi dei fogli nella cartella di lavoro (ad esempio "Gen", "Feb", "Mar").
Un singolo carattere di virgoletta viene unito a entrambi i lati di C $ 4 utilizzando l'operatore di concatenazione (&). Ciò non è richiesto in questo particolare esempio, ma consente alla formula di gestire i nomi dei fogli con spazi.
Successivamente, il punto esclamativo (!) Viene unito a destra per creare un riferimento di foglio appropriato, seguito dall'intervallo effettivo per la matrice della tabella.
Infine, all'interno di CERCA.VERT, 2 è fornito per l'indice di colonna con 0 per forzare una corrispondenza esatta.