Anpassung eines Namens an die dynamische Länge einer Liste (221)
Aufgabe
Eine Liste, der häufig Einträge zugefürgt werden, ist benannt ("Liste").
Sie dient z.B. als Datenquelle für eine Liste der Gültigkeitsprüfung oder für Diagramme.
Wenn der Liste Einträge zugefürgt werden, passt sich der Name normalerweise nicht an. Dies soll aber erreicht werden. Lösung
Die Liste beginnt in A1
Wenn die Liste keine Leerzeilen enthält:
Name:Liste
bezieht sich auf:=INDIREKT("A1:A"&Anzahl2($A:$A))
Wenn die Liste Leerzeilen enthalten kann:
Name:Liste
bezieht sich auf:=INDIREKT("A1:A"&MAX((Tabelle1!$A$1:$A$999<>"")*ZEILE(Tabelle1!$A$1:$A$999)))
bzw. ohne Array
bezieht sich auf:=INDIREKT("A1:A"&VERWEIS(2;1/($A$1:$A$999);ZEILE($A:$A))) Erläuterung
Wenn eine Arrayformel als Namensbezug verwendet wird, werden keine geschweiften Klammern eingegeben, Es wird aber auch nicht mit strg+umschalt+enter abgeschlossen.
Der berechnete Bereich (hier bis A999) sollte nicht länger als nötig sein, da die Berechnung sonst lange dauert.
Wenn möglich, sollte es ganz vermieden werden, dass die Liste Leerzeichen enthält. Dann kann die einfache Variante der Formel genommen werden, die wesentlich schneller ist.