Die Kombination aus INDEX und VERGLEICH ist eine leistungsstarke Alternative zur Funktion SVERWEIS(). Sie arbeitet flexibler und stabiler, weil sie nicht an eine feste Spaltennummer gebunden ist, sowohl nach rechts als auch nach links „schauen“ kann und sich nicht durch eingefügte oder gelöschte Spalten „verschiebt“.

Praktisch heißt das: Sie wählen mit VERGLEICH() die passende Zeile (und bei Bedarf zusätzlich die passende Spalte) anhand von Überschriften oder Schlüsseln aus. INDEX() gibt anschließend genau den Wert zurück, der an dieser Position steht. Das ist besonders hilfreich, wenn Tabellen wachsen, Spalten umsortiert werden oder Sie die Rückgabespalte dynamisch über eine Spaltenüberschrift bestimmen möchten.
Wichtig für zuverlässige Ergebnisse: Verwenden Sie bei VERGLEICH() im Alltag fast immer den Vergleichstyp 0 (exakt). Die Vergleichstypen 1 und -1 liefern nur dann korrekte Ergebnisse, wenn der Suchbereich passend sortiert ist. Ohne Sortierung entstehen schnell „scheinbar plausible“ Treffer, die fachlich falsch sind.
Für robuste Formeln haben sich drei Grundmuster bewährt: (1) exakte Suche mit VERGLEICH(...;0), (2) Fehlerbehandlung mit WENNFEHLER() für saubere Ausgaben und (3) sauber begrenzte Bereiche (keine unnötig großen Matrixbereiche), damit die Berechnung auch in großen Dateien flüssig bleibt.
Kurz-Checkliste für die Praxis:
- Schlüsselspalte eindeutig halten (oder Duplikate bewusst behandeln: „erster Treffer“, „letzter Treffer“ oder Mehrfachliste).
- Bei exakten Lookups immer
VERGLEICH(...;0)nutzen und Such-/Rückgabebereiche gleich lang halten. - Mit
WENNFEHLER()oderWENN(ISTNV(...);...)definieren, was bei „nicht gefunden“ passieren soll. - Spaltenüberschriften für dynamische Rückgaben verwenden (2D-Suche) statt fester Spaltennummern.
Im Folgenden sehen Sie die Bausteine INDEX() und VERGLEICH() einzeln, dann kombiniert (1D) und schließlich als zweidimensionale Suche (2D) – inklusive typischer Fehlerbilder und praxistauglicher Rückfallstrategien.
Inhalt
- Methode 1: Grundlegende Nutzung der INDEX-Funktion
- Methode 2: Nutzung der VERGLEICH-Funktion zur dynamischen Suche
- Methode 3: INDEX und VERGLEICH kombinieren – Die Alternative zu SVERWEIS
- Methode 4: Zweidimensionale Suche mit INDEX und VERGLEICH
- Methode 5: Erweiterte Suche mit mehreren Kriterien
- Vergleich: INDEX + VERGLEICH vs. SVERWEIS
Methode 1: Grundlegende Nutzung der INDEX-Funktion
INDEX() gibt einen Wert aus einem definierten Bereich („Matrix“) zurück. Entscheidend ist: Die Zeilen- und Spaltennummer beziehen sich immer auf die Matrix, nicht auf das Arbeitsblatt. Wenn Ihre Matrix bei A1 beginnt, ist Zeile 1 tatsächlich die erste Zeile. Beginnt die Matrix bei A2, dann ist „Zeile 1“ innerhalb der Matrix trotzdem die Zeile 2 im Blatt.
Syntax:
=INDEX(Matrix;Zeile;[Spalte])
– Matrix: Der Datenbereich, aus dem ein Wert zurückgegeben werden soll.
– Zeile: Die Zeilenposition des gewünschten Wertes innerhalb der Matrix.
– [Spalte]: (Optional) Die Spaltenposition innerhalb der Matrix. Wird sie weggelassen, liefert INDEX() den Wert aus der ersten Spalte der Matrix.
Typische Fehlerquelle: #BEZUG! entsteht, wenn Zeile oder Spalte außerhalb der Matrix liegt (z. B. Zeile 12 in einer 10-zeiligen Matrix). Prüfen Sie dann zuerst, ob Ihre Matrix wirklich den gewünschten Bereich umfasst und ob die Positionswerte korrekt berechnet werden.
Beispiel:
Angenommen, Ihre Daten befinden sich im Bereich A1:C5 und Sie möchten den Wert aus der 3. Zeile, 2. Spalte abrufen:
=INDEX(A1:C5;3;2)
Dies gibt den Wert aus der Zelle B3 zurück. Wird der Spaltenparameter weggelassen, so liefert INDEX() den Wert aus der ersten Spalte der Matrix – hier also aus A3.
Praxis-Tipp: Begrenzen Sie Matrixbereiche sinnvoll (z. B. A1:C5000 statt ganze Spalten), wenn Sie viele Formeln einsetzen. Das reduziert Rechenlast und macht Fehler (z. B. versehentliche Überschriften im Suchbereich) leichter sichtbar.
Methode 2: Nutzung der VERGLEICH-Funktion zur dynamischen Suche
VERGLEICH() liefert die Position eines Suchwerts in einem eindimensionalen Bereich (eine Spalte oder eine Zeile). Diese Position ist die perfekte „Zeile“ oder „Spalte“ für INDEX(). So trennen Sie sauber „Wo steht der Treffer?“ von „Welcher Wert soll zurückkommen?“ – das ist der Kern der Flexibilität.
Syntax:
=VERGLEICH(Suchwert;Suchbereich;Vergleichstyp)
– Suchwert: Der Wert, dessen Position gefunden werden soll.
– Suchbereich: Der Bereich (Zeile oder Spalte), in dem gesucht wird.
– Vergleichstyp: 0 für exakte Übereinstimmung (empfohlen), 1 für den größten Wert ≤ Suchwert (nur bei aufsteigend sortiertem Bereich), -1 für den kleinsten Wert ≥ Suchwert (nur bei absteigend sortiertem Bereich).
Bei mehreren gleichen Werten liefert VERGLEICH(...;0) immer die Position des ersten Treffers im Suchbereich. Wenn Sie bewusst den letzten Treffer benötigen, brauchen Sie eine andere Strategie (z. B. Suche von unten oder eine Hilfsspalte). Bei „nicht gefunden“ liefert VERGLEICH() den Fehler #NV.
Beispiel:
Wenn in Spalte A die Werte „Apfel“, „Banane“, „Orange“ stehen, ermittelt diese Formel die Position von „Banane“:
=VERGLEICH("Banane";A1:A10;0)
Das Ergebnis ist die Positionsnummer innerhalb des Bereichs (bei Treffer in A2 also „2“). Wenn Sie sauber mit Überschriften arbeiten, wählen Sie Suchbereiche ohne Kopfzeile (z. B. A2:A10), damit Positionen direkt zu Ihren Datenzeilen passen.
Für nutzerfreundliche Ergebnisse kapseln Sie Lookups oft mit WENNFEHLER(). Beispiel: =WENNFEHLER(VERGLEICH("Banane";A2:A10;0);"nicht gefunden"). So bleibt die Tabelle lesbar, selbst wenn neue Produkte noch keine Stammdaten besitzen.
Methode 3: INDEX und VERGLEICH kombinieren – Die Alternative zu SVERWEIS
Durch die Kombination von INDEX und VERGLEICH können Sie den gesuchten Wert flexibel abrufen – auch wenn dieser links von der Suchspalte liegt. Sie bestimmen erst die Zeile des Treffers (über VERGLEICH()) und holen dann den Rückgabewert aus der gewünschten Spalte (über INDEX()).
Das Muster ist in großen Dateien besonders angenehm, weil Sie die Rückgabespalte jederzeit austauschen können, ohne eine Spaltennummer „nachzuzählen“. Außerdem bleibt die Formel stabil, wenn Kollegen Spalten in der Mitte einfügen oder verschieben – ein häufiger Grund, warum SVERWEIS() in produktiven Tabellen schleichend falsche Ergebnisse liefert.
Beispiel:
In einer Tabelle stehen in Spalte A Produktnamen und in Spalte B die entsprechenden Preise. Um den Preis für „Banane“ zu finden, verwenden Sie:
=INDEX(B1:B10;VERGLEICH("Banane";A1:A10;0))
Dies gibt den Preis aus Spalte B zurück, der zu „Banane“ in Spalte A gehört. Sauberer wird es oft ohne Kopfzeilen: =INDEX(B2:B10;VERGLEICH("Banane";A2:A10;0)). Dann passt die Positionslogik direkt zu den Datenzeilen.
Für produktive Dateien empfiehlt sich eine klare Fehlerausgabe: =WENNFEHLER(INDEX(B2:B10;VERGLEICH("Banane";A2:A10;0));"kein Preis hinterlegt"). So erkennen Anwender sofort, ob wirklich kein Datensatz existiert oder ob die Formel defekt ist.
Methode 4: Zweidimensionale Suche mit INDEX und VERGLEICH
Mit zwei VERGLEICH-Funktionen können Sie sowohl die Zeile als auch die Spalte für den gewünschten Wert bestimmen. Das ist ideal für Auswertungen nach dem Muster „Produkt (Zeile) × Monat (Spalte)“. Sie suchen also erst den Datensatz (Zeile) und danach die richtige Kennzahl oder den Zeitraum (Spalte).
Robust wird die 2D-Suche, wenn Sie die Rückgabematrix nur auf die Werte beschränken und Kopfspalten/Kopfzeilen getrennt behandeln: Produktnamen stehen in einer eigenen Spalte, Monatsnamen in einer eigenen Kopfzeile, Umsätze ausschließlich im Werteblock. So verhindern Sie, dass INDEX() versehentlich eine Überschrift statt eines Wertes zurückgibt.
Beispiel:
Angenommen, Sie haben eine Tabelle mit Umsätzen von Produkten (Zeilen) über verschiedene Monate (Spalten). Produktnamen stehen in A2:A10, die Monatsüberschriften in B1:D1, die Umsätze im Werteblock B2:D10. Um den Umsatz für „Apfel“ im Monat „März“ zu finden:
=INDEX(B2:D10;VERGLEICH("Apfel";A2:A10;0);VERGLEICH("März";B1:D1;0))
Dies gibt den Umsatz für „Apfel“ im Monat „März“ zurück. Wenn Sie mit Tippfehlern oder abweichenden Schreibweisen rechnen, definieren Sie klare Datenvalidierungen (z. B. Dropdowns für Monate/Produkte) – dadurch sinkt die Fehlerquote in Berichten spürbar.
Prüfmethode für die Fehlersuche: Lassen Sie sich testweise nur die Positionswerte anzeigen, z. B. =VERGLEICH("Apfel";A2:A10;0) und =VERGLEICH("März";B1:D1;0). Wenn beide Zahlen plausibel sind, liegt ein Fehler meist in der Matrixgröße (B2:D10 passt nicht zu den Header-Bereichen) oder in einer versteckten Formatabweichung (z. B. „März “ mit Leerzeichen).
Methode 5: Erweiterte Suche mit mehreren Kriterien
Wenn Sie mehrere Kriterien berücksichtigen möchten, können Sie Bedingungen zu einer Prüfmatrix kombinieren und den ersten Treffer ausgeben. Typische Fälle: Preis nach Produkt und Kategorie, Ansprechpartner nach Standort und Team oder Rabatt nach Kundengruppe und Menge.
Technik dahinter: Aus logischen Tests wie (A2:A20="Apfel") entsteht eine Folge aus WAHR/FALSCH. Durch Multiplikation * wird daraus eine Folge aus 1 und 0. VERGLEICH(1;...;0) findet dann die erste Position, an der alle Bedingungen gleichzeitig erfüllt sind.
Beispiel:
Angenommen, Sie suchen in einer Tabelle den Preis basierend auf Produktname und Kategorie. Verwenden Sie folgende Formel:
=INDEX(C2:C20;VERGLEICH(1;(A2:A20="Apfel")*(B2:B20="Bio");0))
Diese Formel kombiniert zwei Bedingungen, indem sie eine Matrix aus 1 und 0 erzeugt und dann den ersten Treffer zurückgibt. In Microsoft 365 / Excel 2021 und neuer funktioniert das in der Regel direkt. In älteren Excel-Versionen kann es nötig sein, die Formel als klassische Matrixformel einzugeben (je nach Version mit Strg + Umschalt + Enter).
Für produktive Tabellen sollten Sie „kein Treffer“ sauber abfangen: =WENNFEHLER(INDEX(C2:C20;VERGLEICH(1;(A2:A20="Apfel")*(B2:B20="Bio");0));"kein Datensatz"). Wenn mehrere Treffer möglich sind (z. B. mehrere Bio-Varianten), liefert die Formel immer den ersten passenden Datensatz im Bereich – steuern Sie die gewünschte Priorität dann über Sortierung oder eindeutige Schlüssel.
Alternative ohne Matrixlogik: Erstellen Sie eine Hilfsspalte mit einem zusammengesetzten Schlüssel, z. B. =A2&"|"&B2 und suchen Sie anschließend nach "Apfel|Bio". Das ist leicht zu warten, besonders wenn viele Anwender die Datei bearbeiten und Formeln nachvollziehen müssen.
Vergleich: INDEX + VERGLEICH vs. SVERWEIS
Die Unterschiede zeigen sich vor allem bei Wartbarkeit, Robustheit und bei komplexeren Modellen. SVERWEIS() bleibt für einfache, statische Tabellen praktisch – sobald Spalten dynamisch werden oder Kriterien wachsen, spielt INDEX() + VERGLEICH() seine Stärken aus.
| Kriterium | INDEX + VERGLEICH | SVERWEIS |
|---|---|---|
| Suche nach links möglich | ✅ Ja | ❌ Nein |
| Robust bei Spaltenverschiebung | ✅ Ja | ❌ Nein (Spaltenindex kann „wandern“) |
| Mehrere Suchkriterien | ✅ Ja (direkt kombinierbar) | ⚠️ Nur mit Workaround (z. B. Hilfsspalte) |
| Performance in großen Modellen | ✅ Oft gut skalierbar (abhängig von Bereichen & Aufbau) | ⚠️ Szenarioabhängig; feste Spaltennummer und große Bereiche bremsen häufig |
| Flexibel (horizontal & vertikal) | ✅ Ja (auch 2D-Lookup) | ❌ Nein (nur vertikal) |
Performance-Tipp für beide Ansätze: Vermeiden Sie ganze-Spalten-Bezüge in vielen Formeln (z. B. A:A), wenn die Datei groß wird. Begrenzen Sie Such- und Rückgabebereiche sinnvoll und halten Sie Such- und Rückgabebereiche exakt gleich lang – damit verhindern Sie schwer auffindbare Off-by-one-Fehler und unnötige Neuberechnungen.
Meroth IT-Service ist Ihr lokaler IT-Dienstleister in Frankfurt am Main für kleine Unternehmen, Selbstständige und Privatkunden
Kostenfreie Ersteinschätzung Ihres Anliegens?
Werbung
(**) UVP: Unverbindliche Preisempfehlung
Preise inkl. MwSt., zzgl. Versandkosten
