Excel-formule: celverwijzing verhogen met INDIRECT -

Generieke formule

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

Samenvatting

Om een ​​verwijzing die is gemaakt als tekst binnen de INDIRECTE functie te verhogen, kunt u de CELL-functie gebruiken. In het getoonde voorbeeld is de formule in D5:

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

Welke stappen toenemen als de formule naar beneden wordt gekopieerd.

Uitleg

Beschouw een eenvoudige dynamische verwijzing naar Sheet2 met behulp van de INDIRECT in een formule als deze:

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

Als we de bladnaam in B5 veranderen in een andere (geldige) naam, zal INDIRECT een verwijzing naar A1 in het nieuwe blad teruggeven.

Als we deze formule echter naar beneden in de kolom kopiëren, verandert de verwijzing naar A1 niet, omdat "A1" hard gecodeerd is als tekst.

Om dit probleem op te lossen, gebruiken we de functie CELL om een ​​tekstverwijzing te genereren op basis van een gewone celverwijzing:

CELL("address",A1)

Met "adres" als het eerste argument en A1 als het tweede argument, retourneert de functie CELL een tekenreeks als "$ A $ 1". Omdat A1 een gewone celverwijzing is, wordt deze normaal verhoogd als de formule naar beneden in de kolom wordt gekopieerd. Het resultaat in D5: D9 is een reeks formules zoals deze:

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

In elk geval zet INDIRECT elke tekstreeks om in een verwijzing en retourneert Excel de waarde in de gegeven cel in Sheet2.

Opmerking: zowel INDIRECT als CELL zijn vluchtige functies en worden herberekend bij elke wijziging in het werkblad. Dit kan prestatieproblemen veroorzaken in complexere werkbladen.

Interessante artikelen...