
Generische Formel
(=ROW(INDIRECT(start&":"&end)))
Zusammenfassung
Um ein Array von Zahlen wie (1; 2; 3; 4; 5) zu erstellen, können Sie eine Formel verwenden, die auf den Funktionen ROW und INDIRECT basiert. Diese Technik wird am häufigsten in Arrayformeln verwendet, die ein numerisches Array für die Verarbeitung benötigen. In dem gezeigten Beispiel lautet die Formel in D5:
(=ROW(INDIRECT(B5&":"&C5)))
Dies gibt ein Array wie (1; 2; 3; 4; 5) zurück.
Hinweis: Bei Eingabe in eine einzelne Zelle zeigt Excel nur das erste Element im Array an. Verwenden Sie F9 in der Formelleiste, um das tatsächliche Array-Ergebnis anzuzeigen. Normalerweise verwenden Sie diese Formel in einer größeren Array-Formel, die mit Strg + Umschalt + Eingabe eingegeben wird.
Erläuterung
Hinweis: In Excel 365 ist die neue SEQUENCE-Funktion eine bessere und einfachere Möglichkeit, ein Array von Zahlen zu erstellen. Die unten erläuterte Methode funktioniert in früheren Versionen.
Der Kern dieser Formel ist eine Zeichenfolge, die Zeilen darstellt. Um beispielsweise ein Array mit 10 Zahlen zu erstellen, können Sie eine Zeichenfolge wie folgt fest in INDIRECT codieren:
=ROW(INDIRECT("1:10"))
Die INDIRECT-Funktion interpretiert diesen Text als Bereich 1:10 (10 Zeilen) und die ROW-Funktion gibt die Zeilennummer für jede Zeile in diesem Bereich innerhalb eines Arrays zurück.
In dem gezeigten Beispiel wird eine allgemeinere Version der Formel verwendet, die die Start- und Endnummern von B5 bzw. C5 aufgreift. Die Lösung sieht also folgendermaßen aus:
=ROW(INDIRECT(B5&":"&C5)) =ROW(INDIRECT(1&":"&5)) =ROW(INDIRECT("1:5")) =ROW(1:5) =(1;2;3;4;5)
Der Grund, warum INDIRECT in der Formel verwendet wird, besteht darin, sich vor Änderungen des Arbeitsblatts zu schützen. Ohne INDIRECT kann das Einfügen oder Löschen von Zeilen die Bereichsreferenz ändern, zum Beispiel:
=ROW(1:5)
wird sich ändern zu:
=ROW(1:4)
Wenn Zeile 1 gelöscht wird. Da INDIRECT mit einer aus Text erstellten Referenz arbeitet, werden Änderungen im Arbeitsblatt nicht vorgenommen.
Relative Zeilennummern in einem Bereich
Wenn Sie ein Array benötigen, das aus den relativen Zeilennummern eines Bereichs besteht, können Sie eine Formel wie die folgende verwenden:
=ROW(range)-ROW(range.firstcell)+1
Auf dieser Seite finden Sie eine vollständige Erklärung.
Negative Werte
Die ROW-Funktion verarbeitet keine negativen Zahlen, sodass Sie negative Zahlen für Anfang und Ende nicht einmischen können . Sie können jedoch mathematische Operationen auf das von ROW erstellte Array anwenden. Die folgende Formel erstellt beispielsweise dieses Array: (-5; -4; -3; -2; -1)
=ROW(INDIRECT(1&":"&5))-6
Zahlen in umgekehrter Reihenfolge, n bis 1
Um ein Array positiver Zahlen in absteigender Reihenfolge von n bis 1 zu erstellen, können Sie eine Formel wie die folgende verwenden:
=ABS(ROW(INDIRECT("1:"&n))-(n+1))