Excel INDEX-Funktion: Einzelwerte vs. Arrays effizient zurückgeben
Hier ist ein ausführliches Tutorial, das dir zeigt, wie du die INDEX-Funktion in Excel flexibel einsetzt – von der einfachen Abfrage eines einzelnen Wertes bis hin zur Rückgabe ganzer Datenbereiche (Arrays).
Die INDEX-Funktion gehört zu den mächtigsten Werkzeugen in Excel. Während die meisten Nutzer sie verwenden, um einen ganz bestimmten Wert an einer Schnittstelle von Zeile und Spalte zu finden, verbirgt sich hinter der Funktion eine „Superkraft“: Sie kann auch ganze Zeilen, Spalten oder Bereiche als Array zurückgeben.
In diesem Tutorial lernst du den Unterschied und die praktische Anwendung kennen.
1. Die Grundlagen: INDEX für Einzelwerte
Normalerweise nutzt man INDEX, um einen Wert aus einer Tabelle zu extrahieren.
Die Syntax:
=INDEX(Matrix; Zeilennummer; [Spaltennummer])
- Matrix: Der Zellbereich, in dem gesucht wird.
- Zeilennummer: Die Position der Zeile (1, 2, 3...).
- Spaltennummer: Die Position der Spalte (optional).
Beispiel:
Du hast eine Liste von Produkten in A2:C10. Du möchtest den Wert aus der 3. Zeile und der 2. Spalte:
=INDEX(A2:C10; 3; 2)
Ergebnis: Excel gibt genau einen Wert zurück.
2. Der Profi-Trick: INDEX für Arrays (Bereiche)
Der entscheidende Trick, um ein Array (eine ganze Zeile oder Spalte) zurückzugeben, besteht darin, das Argument für die Zeile oder Spalte auf 0 zu setzen oder leer zu lassen.
A. Eine ganze Spalte zurückgeben
Wenn du die Zeilennummer auf 0 setzt, gibt Excel die komplette Spalte der Matrix zurück.
Formel:
=INDEX(A2:C10; 0; 2)
- Was passiert? Excel ignoriert die Zeilenbeschränkung und gibt alle Werte der 2. Spalte des Bereichs A2:C10 zurück.
- In Excel 365/2021: Die Werte „laufen über“ (Spill-Effekt) und füllen automatisch die darunterliegenden Zellen.
B. Eine ganze Zeile zurückgeben
Wenn du die Spaltennummer auf 0 setzt oder weglässt, gibt Excel die komplette Zeile zurück.
Formel:
=INDEX(A2:C10; 3; 0)
- Was passiert? Excel gibt alle Spaltenwerte der 3. Zeile zurück.
3. Warum sollte man ein Array statt eines Wertes zurückgeben?
Die Rückgabe eines Arrays ist besonders nützlich, wenn INDEX innerhalb einer anderen Funktion geschachtelt wird.
Praxisbeispiel 1: Dynamische Summenbildung
Stell dir vor, du hast eine Tabelle mit Monatsumsätzen (Jan bis Dez) in den Spalten B bis M. Du möchtest die Summe für eine bestimmte Zeile (z. B. Produkt X in Zeile 5) berechnen, ohne den Bereich manuell zu markieren.
=SUMME(INDEX(B2:M100; 5; 0))
Hier liefert INDEX das Array der gesamten 5. Zeile an die SUMME-Funktion.
Praxisbeispiel 2: SVERWEIS-Alternative mit variablen Spalten
In Kombination mit der VERGLEICH-Funktion kannst du dynamisch entscheiden, welche Spalte du auswerten willst:
=MITTELWERT(INDEX(A2:Z100; 0; VERGLEICH("Umsatz"; A1:Z1, 0)))
Hier sucht VERGLEICH die Spaltennummer von "Umsatz" und INDEX gibt die gesamte Spalte an MITTELWERT weiter.
4. Vergleich: Einzelwert vs. Array
| Feature | INDEX (Einzelwert) | INDEX (Array) |
|---|---|---|
| Ziel | Punktgenaue Information | Ganze Datensätze / Bereiche |
| Syntax Zeile | Spezifische Zahl (z.B. 5) |
0 oder leer lassen |
| Syntax Spalte | Spezifische Zahl (z.B. 2) |
0 oder leer lassen |
| Rückgabe | Ein einzelner Zellinhalt | Ein Bereich (Vektor) |
| Hauptvorteil | Einfaches Nachschlagen | Dynamische Berechnungen |
5. Wichtige Hinweise für die Praxis
- Spill-Fehler (#ÜBERLAUF!): Wenn du
INDEXals Array-Funktion in Excel 365 nutzt, stelle sicher, dass genug Platz in den benachbarten Zellen ist. Sonst zeigt Excel einen#ÜBERLAUF!-Fehler an. - Performance:
INDEXist im Gegensatz zur FunktionINDIREKToderBEREICH.VERSCHIEBENnicht volatil. Das bedeutet, Excel berechnet die Formel nur neu, wenn sich die zugrunde liegenden Daten ändern. Das macht deine Arbeitsmappe deutlich schneller. - Alte Excel-Versionen: In Excel 2019 oder älter musst du Array-Formeln oft mit
Strg+Umschalt+Enterbestätigen, damit sie korrekt angezeigt werden (außer sie stehen innerhalb einer Aggregationsfunktion wieSUMME).
Fazit
Die INDEX-Funktion ist weit mehr als eine Suchfunktion. Indem du die Zeilen- oder Spaltenargumente auf 0 setzt, verwandelst du sie in ein dynamisches Werkzeug, das ganze Datenbereiche manipuliert. Dies ist die Grundlage für fortgeschrittene Datenanalyse und Dashboard-Erstellung in Excel.