Utilizzo di un valore di cella come nome del foglio di lavoro in una formula (Microsoft Excel)
Roy ha una formula che fa riferimento a una cella in un’altra cartella di lavoro, come = ‘[http://www.formville.com/C4_free-timesheets.html [Timesheet] s.xlsm] Week01′! L6.
Vorrebbe che la formula raccolga il nome del foglio di lavoro (Week01) da un’altra cella, in modo che la formula diventi più generica. Roy si chiede come dovrebbe cambiare la formula in modo che possa usare qualsiasi nome del foglio di lavoro si trovi nella cella B9.
Il modo più semplice per gestirlo è utilizzare la funzione del foglio di lavoro INDIRETTO. Essenzialmente, prende un indirizzo di cella e lo utilizza come “puntatore” e quindi recupera il valore da quella cella. Ad esempio, potresti usare quanto segue:
=INDIRECT(L6)
Ciò si traduce nel valore nella cella L6 che viene recuperato e utilizzato come puntatore a ciò che si desidera veramente. Pertanto, se la cella L6 contiene “A7”, la funzione restituisce il valore di qualsiasi cosa si trovi nella cella A7. È interessante notare che se si richiama la funzione in questo modo si ottiene un risultato diverso:
=INDIRECT("L6")
Il risultato è il contenuto della cella L6 invece di utilizzare il contenuto della cella L6 come puntatore.
Con queste informazioni, potresti facilmente mettere insieme un indirizzo che funzionerà correttamente con la funzione INDIRETTO:
=INDIRECT("'[Timesheets.xlsm]" & K2 & "'!L6")
Questa formula presuppone che il nome del foglio di lavoro desiderato sia archiviato nella cella K2. Se in quella cella non è presente un nome di foglio di lavoro valido, la formula restituisce un errore #REF.
Un importante “trucco” con questo approccio è che devi assicurarti che la cartella di lavoro (Timesheets.xlsm) sia aperta. INDIRETTO non raggiungerà una cartella di lavoro non aperta. Se non è aperto, riceverai un errore #REF invece del valore desiderato.
Se vuoi rendere la formula ancora più generica, puoi estrarre il nome della cartella di lavoro, il nome del foglio di lavoro e il riferimento della cella tutto dalle celle all’interno del tuo foglio di lavoro, come in questo modo:
=INDIRECT("'[" & K1 & "]" & K2 & "'!" & K3)
In questo caso, K1 conterrebbe il nome della cartella di lavoro (Timesheets.xlsm), K2 conterrebbe il nome del foglio di lavoro (“Week01”) e K3 conterrebbe la cella desiderata (“L6”).
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (6069) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.