
Generička formula
=INDIRECT(sheet&"!"&CELL("address",A1))
Sažetak
Da biste povećali referencu stvorenu kao tekst unutar funkcije INDIRECT, možete koristiti funkciju CELL. U prikazanom primjeru formula u D5 je:
=INDIRECT($B$5&"!"&CELL("address",A1))
Koji se koraci kao formula kopiraju.
Obrazloženje
Razmotrite jednostavnu dinamičku referencu na Sheet2 koristeći INDIRECT u formuli poput ove:
=INDIRECT($B$5&"!"&"A1"))
Ako promijenimo naziv lista u B5 u drugo (važeće) ime, INDIRECT će vratiti referencu na A1 u novom listu.
Međutim, ako kopiramo ovu formulu u stupac, referenca na A1 neće se promijeniti jer je "A1" kodiran kao tekst.
Da bismo riješili taj problem, koristimo funkciju CELL za generiranje tekstualne reference iz redovite reference ćelije:
CELL("address",A1)
S "adresom" kao prvim argumentom, a A1 kao drugim argumentom, funkcija CELL vraća niz poput "$ A $ 1". Budući da je A1 redovita referenca na ćeliju, ona će se normalno povećavati kako se formula kopira niz stupac. Rezultat u D5: D9 je niz ovakvih formula:
=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")
U svakom slučaju, INDIRECT rješava svaki tekstualni niz referencom i Excel vraća vrijednost u datoj ćeliji u Sheet2.
Napomena: I INDIRECT i CELL su hlapljive funkcije i preračunavaju se sa svakom promjenom radnog lista. To može uzrokovati probleme s izvedbom u složenijim radnim listovima.