Formula di Excel: riferimento del foglio di lavoro dinamico -

Sommario

Formula generica

=INDIRECT(sheet_name&"!A1")

Sommario

Per creare una formula con un nome di foglio dinamico è possibile utilizzare la funzione INDIRETTO. Nell'esempio mostrato, la formula in C6 è:

=INDIRECT(B6&"!A1")

Nota: lo scopo di INDIRETTO qui è costruire una formula in cui il nome del foglio è una variabile dinamica. Ad esempio, puoi modificare il nome di un foglio (magari con un menu a discesa) e inserire informazioni da un foglio di lavoro diverso.

Spiegazione

La funzione INDIRETTO tenta di valutare il testo come riferimento del foglio di lavoro. Ciò rende possibile creare formule che assemblano un riferimento come testo utilizzando la concatenazione e utilizzano il testo risultante come riferimento valido.

In questo esempio, abbiamo i nomi dei fogli nella colonna B, quindi uniamo il nome del foglio al riferimento di cella A1 usando la concatenazione:

=INDIRECT(B6&"!A1")

Dopo la concatenazione, abbiamo:

=INDIRECT("Sheet1!A1")

INDIRETTO lo riconosce come un riferimento valido alla cella A1 in Sheet1 e restituisce il valore in A1, 100. Nella cella C7, la formula restituisce questo:

=INDIRECT(B7&"!A1") =INDIRECT("Sheet2!A1") =Sheet2!A1 =200

E così via, per ogni formula nella colonna C.

Gestione di spazi e punteggiatura nei nomi dei fogli

Se i nomi dei fogli contengono spazi o caratteri di punteggiatura, dovrai regolare la formula per racchiudere il nome del foglio tra virgolette singole (') in questo modo:

=INDIRECT("'"&sheet_name&"'!A1")

dove nome_foglio è un riferimento che contiene il nome del foglio. Per l'esempio in questa pagina, la formula sarebbe:

=INDIRECT("'"&B6&"'!A1")

Notare che questo requisito non è specifico della funzione INDIRETTO. Qualsiasi formula che fa riferimento al nome di un foglio con spazio o punteggiatura deve racchiudere il nome del foglio tra virgolette singole.

Articoli interessanti...