
Generisk formel
=INDIRECT(sheet&"!"&CELL("address",A1))
Sammendrag
For å øke en referanse som er opprettet som tekst i INDIRECT-funksjonen, kan du bruke CELL-funksjonen. I eksemplet vist er formelen i D5:
=INDIRECT($B$5&"!"&CELL("address",A1))
Hvilke trinn som formelen kopieres ned.
Forklaring
Vurder en enkel dynamisk referanse til Sheet2 ved hjelp av INDIRECT i en formel som denne:
=INDIRECT($B$5&"!"&"A1"))
Hvis vi endrer arknavnet i B5 til et annet (gyldig) navn, vil INDIRECT returnere en referanse til A1 i det nye arket.
Imidlertid, hvis vi kopierer denne formelen ned i kolonnen, vil ikke referansen til A1 endres, fordi "A1" er hardkodet som tekst.
For å løse dette problemet bruker vi CELL-funksjonen til å generere en tekstreferanse fra en vanlig cellereferanse:
CELL("address",A1)
Med "adresse" som det første argumentet, og A1 som det andre argumentet, returnerer CELL-funksjonen en streng som "$ A $ 1". Fordi A1 er en vanlig cellereferanse, øker den normalt når formelen kopieres nedover i kolonnen. Resultatet i D5: D9 er en serie formler som dette:
=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")
I hvert tilfelle løser INDIRECT hver tekststreng til en referanse, og Excel returnerer verdien på den gitte cellen i Ark2.
Merk: både INDIRECT og CELL er flyktige funksjoner og beregner på nytt for hver regnearksendring. Dette kan føre til ytelsesproblemer i mer komplekse regneark.