Excel-képlet: Növeli a cellahivatkozást az INDIRECT - -vel

Általános képlet

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

Összegzés

Az INDIRECT funkción belül szövegként létrehozott referencia növeléséhez használhatja a CELL funkciót. A bemutatott példában a D5 képlete a következő:

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

A képlet melyik növekményeket másolja le.

Magyarázat

Vegyünk egy egyszerű dinamikus hivatkozást a 2. lapra, az INDIRECT használatával egy ilyen képletben:

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

Ha megváltoztatjuk a B5-ben a lap nevét egy másik (érvényes) névre, akkor az INDIRECT visszaad egy hivatkozást A1-re az új lapban.

Ha azonban ezt a képletet lemásoljuk az oszlopba, akkor az A1-re való hivatkozás nem változik, mert az "A1" szövegként kemény kódolású.

A probléma megoldásához a CELL függvény segítségével szöveges referenciát állítunk elő egy normál cellahivatkozásból:

CELL("address",A1)

Az első argumentum a "address", a második argumentum az A1, a CELL függvény olyan karakterláncot ad vissza, mint "$ A $ 1". Mivel az A1 egy normál cellahivatkozás, normálisan növekszik, amikor a képletet lefelé másoljuk az oszlopban. A D5: D9 eredmény egy ilyen képletsorozat:

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

A INDIRECT minden esetben feloldja az egyes szöveges karakterláncokat referenciává, és az Excel visszaadja az értéket a Sheet2 adott cellájában.

Megjegyzés: mind az INDIRECT, mind a CELL volatilis függvények, és minden munkalap-változással újraszámolják. Ez teljesítményproblémákat okozhat a bonyolultabb munkalapoknál.

érdekes cikkek...