Excel formula: Povečaj sklic na celico z INDIRECT -

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.

Zanimive Članki...