
Splošna formula
=INDIRECT(sheet&"!"&CELL("address",A1))
Povzetek
Če želite povečati sklic, ustvarjen kot besedilo znotraj funkcije INDIRECT, lahko uporabite funkcijo CELL. V prikazanem primeru je formula v D5:
=INDIRECT($B$5&"!"&CELL("address",A1))
Kateri koraki se kopirajo po formuli.
Pojasnilo
Razmislite o preprostem dinamičnem sklicevanju na Sheet2 z uporabo INDIRECT v formuli, kot je ta:
=INDIRECT($B$5&"!"&"A1"))
Če spremenimo ime lista v B5 v drugo (veljavno) ime, bo INDIRECT v novem listu vrnil sklic na A1.
Če pa kopiramo to formulo v stolpec, se sklic na A1 ne bo spremenil, ker je "A1" trdo kodiran kot besedilo.
Da bi rešili to težavo, s funkcijo CELL ustvarimo besedilni sklic iz običajne sklice na celico:
CELL("address",A1)
Z "naslovom" kot prvim argumentom in A1 kot drugim argumentom funkcija CELL vrne niz, kot je "$ A $ 1". Ker je A1 običajen sklic na celico, se bo po kopiranju formule v stolpec normalno povečeval. Rezultat v D5: D9 je vrsta formul, kot je ta:
=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")
V vsakem primeru INDIRECT razreši vsak besedilni niz na sklic in Excel vrne vrednost v dani celici v Sheet2.
Opomba: INDIRECT in CELL sta spremenljivi funkciji in se preračunata z vsako spremembo delovnega lista. To lahko povzroči težave z zmogljivostjo v bolj zapletenih delovnih listih.