=INDEX(A2:C6;3;2) liefert den Wert in der dritten Zeile und zweiten Spalte des Bereichs A2:C6. Die Positionen zählen ab der oberen linken Zelle des Bereichs, also ist Zeile 3 von A2:C6 die Zeile 4 des Blatts. Ändere die 3 oder die 2 und sieh zu, wie das Ergebnis wandert. INDEX heißt in deutschem und englischem Excel gleich; die Tabelle zeigt die englische Schreibweise mit Kommas, aber du kannst die Formeln dort auch deutsch eingeben, mit Semikolons.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Row | Column | Result | |
| 2 | Apple | Fruit | $1.20 | 3 | 2 | Vegetable | |
| 3 | Pear | Fruit | $1.50 | ||||
| 4 | Carrot | Vegetable | $0.80 | ||||
| 5 | Bread | Bakery | $2.40 | ||||
| 6 | Milk | Dairy | $1.10 |
=INDEX(A2:C6;E2;F2)E2 enthält die Zeilennummer und F2 die Spaltennummer. Zeile 3 ist Carrot und Spalte 2 ist Category, also zeigt G2 Vegetable. Setz F2 auf 1 für den Produktnamen, oder E2 auf 6, um #BEZUG! (englisch #REF!, so zeigt es die Tabelle) zu sehen: A2:C6 hat nur fünf Zeilen.
Syntax von INDEX
=INDEX(array, row_num, [column_num])
array(Matrix): der Bereich (oder die Matrix), aus dem gelesen wird.row_num(Zeile): welche Zeile davon, beginnend bei 1. Mit 0 alle Zeilen.column_num(Spalte): welche Spalte, beginnend bei 1. Optional, wenn der Bereich eine einzelne Spalte oder Zeile ist; mit 0 alle Spalten.
Bei einer einzelnen Spalte reicht eine Zahl: =INDEX(A2:A6;4) ist das vierte Element, Bread. Eine zweite Form, =INDEX((A2:C3;A5:C6);1;1;2), wählt aus einem von mehreren Bereichen; sie wird selten gebraucht.
Das n-te Element holen, oder das letzte
INDEX mit einer einzelnen Spalte beantwortet "was ist Element Nummer n". Zusammen mit ANZAHL2 (englisch COUNTA), das die gefüllten Zellen zählt, liefert es das letzte Element einer wachsenden Liste.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Item number | 2 | |
| 2 | Apple | Nth item | Pear | |
| 3 | Pear | Last item | Milk | |
| 4 | Carrot | |||
| 5 | Bread | |||
| 6 | Milk |
=INDEX(A2:A6;ANZAHL2(A2:A6))In D1 steht 2, also liefert D2 Pear. ANZAHL2 zählt 5 Produkte, also liefert D3 das fünfte, Milk. Lösch Milk, und D3 liefert Bread. In einer echten Datei richtest du beide auf einen längeren Bereich wie A2:A1000, damit neue Zeilen mitgezählt werden; ANZAHL2 funktioniert so nur, wenn die Spalte in der Mitte keine leeren Zellen hat.
Mit 0 eine ganze Zeile oder Spalte zurückgeben
Eine 0 als Zeilennummer bedeutet "jede Zeile", also ist INDEX(B2:D5;0;2) die ganze zweite Spalte. In SUMME (englisch SUM), MITTELWERT oder MAX summierst du damit eine Spalte, die du über ihre Nummer auswählst.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar | Month number | Total | |
| 2 | North | 4,200 | 3,900 | 4,800 | 2 | 15,200 | |
| 3 | South | 3,100 | 3,600 | 3,300 | |||
| 4 | East | 5,200 | 4,700 | 5,600 | |||
| 5 | West | 2,800 | 3,000 | 3,400 |
=SUMME(INDEX(B2:D5;0;F2))Monat 2 ist Feb, und G2 addiert C2:C5: 15,200. Ändere F2 in 3 für März. Eine ganze Zeile funktioniert genauso: =SUMME(INDEX(B2:D5;3;0)) summiert East. In Excel 2021 und Microsoft 365 lässt =INDEX(B2:D5;0;2) allein die vier Werte nach unten überlaufen. Um die Spalte über ihre Überschrift statt über eine Nummer zu wählen, ersetzt du F2 durch einen VERGLEICH (englisch MATCH), und das ist das Muster INDEX und VERGLEICH.
INDEX auf eine Matrix oder ein übergelaufenes Ergebnis
INDEX liest auch Matrizen, die eine Formel liefert, nicht nur Bereiche auf dem Blatt. So nimmst du ein Element aus einer sortierten, gefilterten oder eindeutigen Liste, ohne die Liste erst auszuschreiben.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Most expensive | Bread | |
| 2 | Apple | Fruit | $1.20 | Second | Pear | |
| 3 | Pear | Fruit | $1.50 | Cheapest | Carrot | |
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
SORTIERENNACH (englisch SORTBY) liefert die fünf Produkte nach Preis geordnet, und INDEX nimmt Element 1 (Bread), Element 2 (Pear) oder, aus der aufsteigenden Sortierung, Element 1 (Carrot). In deutschem Excel lautet die erste Formel =INDEX(SORTIERENNACH(A2:A6;C2:C6;-1);1). Ändere den Preis von Milk in 3, und Milk wird das teuerste Produkt. Steht schon eine übergelaufene Liste auf dem Blatt, etwa in H2, kannst du in Excel 2021 und Microsoft 365 =INDEX(H2#;2) für ihr zweites Element schreiben.
Übung: einen gewählten Monat summieren
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar | Month number | Total | |
| 2 | North | 4,200 | 3,900 | 4,800 | 1 | ||
| 3 | South | 3,100 | 3,600 | 3,300 | |||
| 4 | East | 5,200 | 4,700 | 5,600 | |||
| 5 | West | 2,800 | 3,000 | 3,400 |
Du bist dran: Gib in G2 mit INDEX die Summe des Monats zurück, dessen Nummer in F2 steht (1 = Jan, 2 = Feb, 3 = Mar).
Häufig gestellte Fragen
Was macht die INDEX-Funktion in Excel?
Sie liefert den Wert an einer bestimmten Position in einem Bereich: =INDEX(A2:C6;3;2) liefert den Wert in der dritten Zeile und zweiten Spalte von A2:C6. Die Positionen zählen ab der oberen linken Zelle des Bereichs, nicht ab Zeile 1 des Blatts.
Wie hole ich mit INDEX den letzten Wert einer Spalte?
Nimm die Zahl der gefüllten Zellen als Zeilennummer: =INDEX(B2:B100;ANZAHL2(B2:B100)) liefert den letzten Wert einer Spalte ohne Lücken. Mit Lücken liefert =VERWEIS(2;1/(B2:B100<>"");B2:B100) den letzten nicht leeren Wert.
Warum liefert INDEX #BEZUG!?
Die Zeilen- oder Spaltennummer ist größer als der Bereich. =INDEX(A2:A6;7) fragt nach dem siebten Element eines Bereichs mit fünf Zellen und liefert #BEZUG!.
Wie gebe ich mit INDEX eine ganze Spalte zurück?
Nimm 0 als Zeilennummer: =INDEX(B2:D5;0;2) liefert die ganze zweite Spalte. Umschließe das mit einer Funktion, um es zu summieren, etwa =SUMME(INDEX(B2:D5;0;2)), oder lass es in Excel 2021 und Microsoft 365 überlaufen.