Excel-formel: Øk cellereferanse med INDIRECT -

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.

Interessante artikler...