
Generische Formel
=INDIRECT(sheet&"!"&CELL("address",A1))
Zusammenfassung
Um eine als Text erstellte Referenz innerhalb der INDIRECT-Funktion zu erhöhen, können Sie die CELL-Funktion verwenden. In dem gezeigten Beispiel lautet die Formel in D5:
=INDIRECT($B$5&"!"&CELL("address",A1))
Welche Inkremente als Formel werden nach unten kopiert.
Erläuterung
Stellen Sie sich eine einfache dynamische Referenz auf Sheet2 vor, indem Sie INDIRECT in einer Formel wie der folgenden verwenden:
=INDIRECT($B$5&"!"&"A1"))
Wenn wir den Blattnamen in B5 in einen anderen (gültigen) Namen ändern, gibt INDIRECT einen Verweis auf A1 im neuen Blatt zurück.
Wenn wir diese Formel jedoch in die Spalte kopieren, ändert sich der Verweis auf A1 nicht, da "A1" als Text fest codiert ist.
Um dieses Problem zu lösen, verwenden wir die CELL-Funktion, um eine Textreferenz aus einer regulären Zellreferenz zu generieren:
CELL("address",A1)
Mit "Adresse" als erstem Argument und A1 als zweitem Argument gibt die CELL-Funktion eine Zeichenfolge wie "$ A $ 1" zurück. Da A1 eine reguläre Zellreferenz ist, wird es normal erhöht, wenn die Formel in die Spalte kopiert wird. Das Ergebnis in D5: D9 ist eine Reihe solcher Formeln:
=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")
In jedem Fall löst INDIRECT jede Textzeichenfolge in eine Referenz auf und Excel gibt den Wert in der angegebenen Zelle in Sheet2 zurück.
Hinweis: Sowohl INDIRECT als auch CELL sind flüchtige Funktionen und werden bei jeder Änderung des Arbeitsblatts neu berechnet. Dies kann zu Leistungsproblemen in komplexeren Arbeitsblättern führen.