
Á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.