Excel formula: Povećavanje reference ćelije s INDIRECT -

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.

Zanimljivi članci...