Excel vzorec: Prírastok odkazu na bunku pomocou INDIRECT -

Všeobecný vzorec

=INDIRECT(sheet&"!"&CELL("address",A1))

Zhrnutie

Na zvýšenie referencie vytvorenej ako text vo vnútri funkcie INDIRECT môžete použiť funkciu CELL. V zobrazenom príklade je vzorec v D5:

=INDIRECT($B$5&"!"&CELL("address",A1))

Ktoré prírastky ako vzorec sa kopírujú nadol.

Vysvetlenie

Zvážte jednoduchý dynamický odkaz na Hárok2 pomocou NEPRIAMEHO vo vzorci ako je tento:

=INDIRECT($B$5&"!"&"A1"))

Ak zmeníme názov listu v B5 na iný (platný) názov, funkcia INDIRECT vráti odkaz na A1 v novom hárku.

Ak však tento vzorec skopírujeme dolu v stĺpci, odkaz na A1 sa nezmení, pretože „A1“ je napevno zakódovaný ako text.

Na vyriešenie tohto problému používame funkciu CELL na generovanie textového odkazu z bežného odkazu na bunku:

CELL("address",A1)

Ak je ako prvý argument použitá adresa, a ako druhý argument A1, funkcia CELL vráti reťazec ako napríklad „$ A $ 1“. Pretože A1 je bežný odkaz na bunku, bude sa normálne zvyšovať, keď sa vzorec kopíruje nadol do stĺpca. Výsledkom v D5: D9 je séria vzorcov ako tento:

=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")

V každom prípade INDIRECT vyrieši každý textový reťazec odkazom a Excel vráti hodnotu v danej bunke v hárku2.

Poznámka: INDIRECT aj CELL sú volatilné funkcie a prepočítavajú sa pri každej zmene pracovného hárka. To môže spôsobiť problémy s výkonom v zložitejších pracovných listoch.

Zaujímavé články...