
Generisk formel
=INDIRECT(sheet&"!"&CELL("address",A1))
Resumé
For at øge en reference, der er oprettet som tekst i INDIRECT-funktionen, kan du bruge CELL-funktionen. I det viste eksempel er formlen i D5:
=INDIRECT($B$5&"!"&CELL("address",A1))
Hvilke trin som formlen kopieres ned.
Forklaring
Overvej en simpel dynamisk henvisning til Sheet2 ved hjælp af INDIRECT i en formel som denne:
=INDIRECT($B$5&"!"&"A1"))
Hvis vi ændrer arknavnet i B5 til et andet (gyldigt) navn, returnerer INDIRECT en henvisning til A1 i det nye ark.
Hvis vi imidlertid kopierer denne formel ned i kolonnen, ændres henvisningen til A1 ikke, fordi "A1" er hårdkodet som tekst.
For at løse dette problem bruger vi CELL-funktionen til at generere en tekstreference fra en almindelig cellereference:
CELL("address",A1)
Med "adresse" som det første argument og A1 som det andet argument returnerer CELL-funktionen en streng som "$ A $ 1". Fordi A1 er en regelmæssig cellereference, øges den normalt, når formlen kopieres ned i kolonnen. Resultatet i D5: D9 er en række formler som denne:
=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")
I hvert tilfælde løser INDIRECT hver tekststreng til en reference, og Excel returnerer værdien i den givne celle i Ark2.
Bemærk: både INDIRECT og CELL er flygtige funktioner og genberegnes med hver regnearksændring. Dette kan forårsage ydeevneproblemer i mere komplekse regneark.