Formula generica
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Sommario
Per creare un riferimento a un foglio di lavoro dinamico, un riferimento a un'altra cartella di lavoro creata con una formula basata su variabili che possono cambiare, è possibile utilizzare una formula basata sulla funzione INDIRETTO.
Nell'esempio mostrato, la formula in E6 è:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Spiegazione
L'essenza di questa formula è creare un riferimento completo a un intervallo in un'altra cartella di lavoro come testo, quindi utilizzare la funzione INDIRETTO per convertire il testo in un riferimento effettivo.
Un riferimento a un foglio di lavoro esterno è simile a questo:
'(sample data.xlsx) Sheet1'! A1
Nota le parentesi quadre (()) attorno al nome della cartella di lavoro, le virgolette singole ('') attorno al foglio di lavoro + foglio e il punto esclamativo (!) Che segue.
Per creare un riferimento come questo utilizzando il testo, utilizziamo la concatenazione per unire i valori delle colonne B, C e D con le parentesi, le virgolette e il punto esclamativo richiesti:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Il risultato viene inserito in INDIRECT come ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
La funzione INDIRETTO valuta quindi il testo e lo converte in un riferimento. Excel segue il riferimento e restituisce il valore al riferimento specificato.
Nota: se il riferimento non è valido o se la cartella di lavoro a cui si fa riferimento non è aperta, INDIRETTO genererà un errore #REF. Puoi rilevare questo errore con la funzione SE.ERRORE e visualizzare un risultato personalizzato, se lo desideri.