INDEX-MATCH vs. SVERWEIS
Das große Duell: INDEX-MATCH vs. SVERWEIS
SVERWEIS ist die bekannteste Suchfunktion von Excel, und INDEX-VERGLEICH ist sein leistungsfähigerer und flexiblerer Konkurrent. Diese Debatte wird seit über einem Jahrzehnt in Excel-Foren geführt – und das aus gutem Grund: Die Wahl der richtigen Suchmethode wirkt sich direkt auf die Zuverlässigkeit, Flexibilität und Leistung Ihrer Tabelle aus.
Spoiler: Wenn Sie Excel 2021 oder 365 verwenden, macht XVERWEIS beide Methoden weitgehend überflüssig. Aber Millionen von Anwendern arbeiten noch mit älteren Versionen, und die Prinzipien, die Sie bei INDEX-VERGLEICH lernen, lassen sich auf alle Excel-Funktionen übertragen. Selbst XVERWEIS-Anwender profitieren vom Verständnis der zugrunde liegenden Mechanismen.
Schritt für Schritt: SVERWEIS in INDEX-VERGLEICH umwandeln
Szenario: Sie haben eine Produkttabelle mit der Produkt-ID in Spalte D und dem Preis in Spalte A. SVERWEIS schlägt fehl, weil sich die Suchspalte RECHTS von der Ergebnisspalte befindet. Hier benötigen Sie INDEX-VERGLEICH.
Schritt 1 — Die Anatomie von INDEX-VERGLEICH verstehen
- Die Formelstruktur:
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0)) - INDEX(Bereich, Zeilennummer) — gibt den Wert aus einem Bereich an einer bestimmten Zeilenposition zurück.
- VERGLEICH(Wert, Bereich, 0) — findet die Position eines Wertes in einem Bereich. Die 0 bedeutet „exakte Übereinstimmung".
- Zusammen: VERGLEICH findet die Zeilennummer, INDEX gibt den Wert in dieser Zeile aus der Ergebnisspalte zurück.
Schritt 2 — Die Formel Schritt für Schritt aufbauen
- Beginnen Sie in einer leeren Zelle mit VERGLEICH, um die Funktion zu testen:
=MATCH(A2, D:D, 0). Dies sollte die Zeilennummer zurückgeben, in der die Produkt-ID aus A2 in Spalte D gefunden wurde. - Umschließen Sie dies nun mit INDEX, um den Preis zu erhalten:
=INDEX(A:A, MATCH(A2, D:D, 0)). Dies gibt den Preis aus Spalte A in der von VERGLEICH gefundenen Zeile zurück. - Für den produktiven Einsatz fixieren Sie die Bereiche:
=INDEX($A$2:$A$1000, MATCH(A2, $D$2:$D$1000, 0)). Verwenden Sie niemals ganze Spaltenbereiche (A:A), es sei denn, Sie mögen langsame Berechnungen.
Schritt 3 — #N/A-Fehler elegant behandeln
- Umschließen Sie die gesamte Formel mit WENNFEHLER:
=IFERROR(INDEX($A$2:$A$1000, MATCH(A2, $D$2:$D$1000, 0)), "Not Found"). - Wenn eine Produkt-ID nicht in der Nachschlagetabelle existiert, sehen Sie nun „Not Found" anstelle eines hässlichen Fehlers.
- Verwenden Sie für Dashboards „" (leere Zeichenkette) anstelle von „Not Found" für ein saubereres Erscheinungsbild.
Wann SVERWEIS die bessere Wahl ist
- Einfachheit und Lesbarkeit. Eine einzelne SVERWEIS-Formel ist leichter zu lesen und zu vermitteln als die INDEX-VERGLEICH-Kombination. Für einfache Suchvorgänge, bei denen die Suchspalte links steht, ist SVERWEIS schneller geschrieben und für Kollegen leichter verständlich.
- Schnelle Ad-hoc-Suchvorgänge. Wenn Sie eine einmalige Suche benötigen und die Daten bereits mit der Suchspalte an erster Stelle organisiert sind, ist SVERWEIS der Weg des geringsten Widerstands. Tippen Sie die Formel ein und machen Sie weiter.
- Näherungsweise Übereinstimmung. Für numerische Stufen (Steuerklassen, Provisionsstufen, Notenskalen) ist SVERWEIS mit WAHR als viertem Argument unkompliziert und gut dokumentiert.
Wann INDEX-VERGLEICH die bessere Wahl ist
- Suchspalte befindet sich RECHTS von der Ergebnisspalte. SVERWEIS sucht nur von links nach rechts. INDEX-VERGLEICH interessiert sich nicht für die Spaltenreihenfolge.
- Einfügen oder Löschen von Spalten. Die Spaltenindexnummer von SVERWEIS ist fest codiert. Fügen Sie eine Spalte ein, brechen alle SVERWEIS-Formeln, die auf Spalten rechts davon verweisen. INDEX-VERGLEICH verwendet echte Spaltenreferenzen und passt sich korrekt an.
- Leistung bei großen Datensätzen. INDEX-VERGLEICH kann schneller sein, da Sie die Suche auf eine einzelne Spalte beschränken können, anstatt das gesamte Tabellenarray zu durchsuchen. Der Unterschied wird ab etwa 50.000 Zeilen spürbar.
- Zweidimensionale (Matrix-)Suchvorgänge. INDEX-VERGLEICH-VERGLEICH ist eine native Fähigkeit:
=INDEX(data_range, MATCH(row_value, row_headers, 0), MATCH(col_value, col_headers, 0)).
Häufige Fehler
- Vergessen, dass SVERWEIS nicht nach links suchen kann. Das ist die Frustration Nr. 1. Wenn Sie Spalten nur deshalb umordnen, damit SVERWEIS funktioniert, kämpfen Sie den falschen Kampf – wechseln Sie zu INDEX-VERGLEICH.
- SVERWEIS verwendet versehentlich die näherungsweise Übereinstimmung. Das vierte Argument ist standardmäßig WAHR, wenn es weggelassen wird. Wenn Sie vergessen, FALSCH hinzuzufügen, erhalten Sie „ungefähr passende" Ergebnisse, die korrekt aussehen, aber subtil falsch sind. Schreiben Sie immer explizit FALSCH.
- VERGLEICH-Bereiche in INDEX-VERGLEICH nicht fixiert.
=INDEX(D:D, MATCH(A2, B:B, 0))ist anfällig. Fixieren Sie die Bereiche:=INDEX($D$2:$D$100, MATCH(A2, $B$2:$B$100, 0)). - Annahme, dass INDEX-VERGLEICH immer schneller ist. Bei kleinen Datensätzen (unter 1.000 Zeilen) ist der Leistungsunterschied vernachlässigbar. Einfachheit schlägt oft einen marginalen Geschwindigkeitsgewinn.
Fortgeschrittene Tipps
- INDEX-VERGLEICH-VERGLEICH für dynamische Spaltenauswahl: Erstellen Sie eine Dropdown-Liste für den Spaltennamen, dann
=INDEX(data, MATCH(row_val, row_col, 0), MATCH(dropdown, headers, 0)). Eine Formel wird zu einem Self-Service-Suchtool. - INDEX-VERGLEICH für das letzte Vorkommen:
=INDEX(return_range, MATCH(2, 1/(lookup_range=value), 1))gibt die letzte Übereinstimmung zurück, nicht die erste. Nützlich, um die aktuellste Transaktion eines Kunden zu finden. - Array-INDEX-VERGLEICH für mehrere Kriterien:
=INDEX(return_range, MATCH(1, (range1=A2)*(range2=B2), 0))eingegeben mit Strg+Umschalt+Enter. Gibt die erste Zeile zurück, die mehrere Bedingungen erfüllt, ohne Hilfsspalten.