Kurs
VLOOKUP() ist eine Google-Sheets-Funktion, die in einer Spalte nach einem Wert sucht und aus derselben Zeile einen passenden Wert aus einer anderen Spalte zurückgibt. Du gibst vor, was gefunden werden soll, wo gesucht wird, und bekommst die benötigten Daten zurück.
Am nützlichsten ist sie bei großen Datensätzen, bei denen das manuelle Suchen und Abgleichen zu lange dauern würde. Immer wenn du zwei Tabellen über einen gemeinsamen Wert verbinden musst, ist VLOOKUP() die erste Wahl.
In diesem Guide lernst du die Syntax, die Schritt-für-Schritt-Anwendung, häufige Ursachen für falsche Ergebnisse und wann Alternativen wie INDEX MATCH() oder XLOOKUP() sinnvoller sind.
Wie lautet die Syntax von VLOOKUP() in Google Sheets?
Die Syntax von VLOOKUP() ist:
=VLOOKUP(search_key, range, index, [is_sorted])
Dabei gilt:
-
search_keyist der gesuchte Wert -
rangeist der Tabellenbereich, in dem gesucht wird -
indexist die Spaltennummer, aus der der Wert zurückgegeben wird -
[is_sorted]legt fest, ob eine exakte Übereinstimmung erforderlich ist oder nicht
Wie machst du ein VLOOKUP() in Google Sheets?
So verwendest du VLOOKUP() in Google Sheets:
-
Lege fest, welchen Wert du nachschlagen willst: Zum Beispiel eine ID, einen Namen oder einen anderen eindeutigen Wert.
-
Bestimme deinen Tabellenbereich: Die Spalte mit dem Suchwert muss die erste Spalte dieses Bereichs sein.
-
Wähle die zurückzugebenden Daten: Das ist die Zielspalte mit dem Ergebnis (z. B. Name, Preis, Status).
-
Gib die
VLOOKUP()-Formel in einer neuen Zelle ein: Verweise auf den Suchwert, den Bereich und die Ergebnisspalte. -
Nutze exakte oder ungefähre Übereinstimmung (
FALSEoderTRUE): In den meisten Fällen solltest du eine exakte Übereinstimmung wählen, um falsche Ergebnisse zu vermeiden (mehr dazu weiter unten).
Wenn du diese Tabelle hast:
|
A (ID) |
B (Name) |
|
101 |
George |
|
102 |
Sarah |
|
103 |
Lily |
Und du willst den Namen zur ID 102 finden, nutze:
=VLOOKUP(102, A2:B4, 2, FALSE)
Das weist Google Sheets an:
- Suche 102 in Spalte A
- Gib den Wert aus Spalte B zurück
- Erzwinge eine exakte Übereinstimmung
Als Ergebnis erhältst du Sarah.

Beispiel für VLOOKUP(). Bild: Autor.
So funktioniert VLOOKUP() (Schritt-für-Schritt-Logik)
VLOOKUP() folgt einem einfachen vertikalen Suchprozess. Es startet immer in der ersten Spalte des gewählten Bereichs und scannt dann zeilenweise nach unten, bis es die erste Übereinstimmung findet.
Sobald die Übereinstimmung gefunden ist, bleibt die Funktion in derselben Zeile, wechselt zur angegebenen Spalte und gibt deren Wert zurück.
Schritt für Schritt funktioniert das so:
- Start in der ersten Spalte des Bereichs
- Suche nach unten in dieser Spalte
- Finde die erste passende Übereinstimmung
- Wechsle in derselben Zeile zur Zielspalte
- Gib den Wert aus der angegebenen Spalte zurück
Angenommen, du willst die Berufsbezeichnung zur Mitarbeiter-ID E1007 finden. Verwende dafür diese Formel:
=VLOOKUP("E1007", A:G, 5, FALSE)

VLOOKUP() in Google Sheets. Bild: Autor.
Diese Formel:
-
Findet
E1007in Spalte A -
Wechselt in derselben Zeile zur Zielspalte
-
Gibt Spalte 5 (Job Title) zurück
-
Liefert das Ergebnis Software Engineer.
Hinweis: VLOOKUP() kann nur von links nach rechts suchen. Befindet sich deine Nachschlagespalte nicht als erste Spalte im Bereich, funktioniert die Funktion nicht. Dann musst du die Daten umstellen oder eine andere Funktion nutzen. Darauf kommen wir gleich zurück.
Exakte vs. ungefähre Übereinstimmung in VLOOKUP()
Eine exakte Übereinstimmung liefert nur dann ein Ergebnis, wenn der Wert identisch ist. Eine ungefähre Übereinstimmung liefert den nächstkleineren Wert, wenn kein exakter Treffer gefunden wird – in der Regel auf Basis sortierter Daten.
In VLOOKUP() steuert das das letzte Argument. Genau dieses Argument, FALSE oder TRUE, sorgt oft für Fehler, weil TRUE harmlos aussieht – ist es aber nicht.
- FALSE bedeutet: nur exakte Übereinstimmung. Ist der Wert nicht vorhanden, bekommst du #N/A – was tatsächlich hilfreich ist.
- TRUE liefert bei fehlendem exakten Treffer den nächstkleineren Wert. Das klingt nach Fallback, ist aber oft eher eine stillschweigende Falschantwort. Außerdem setzt es sortierte Daten voraus. Sind sie es nicht, ist das Ergebnis unvorhersehbar.
Mein Rat: Verwende TRUE nur für gestaffelte Nachschlagen wie Steuerklassen oder Notenbänder, wo ungefähre Treffer gewollt sind. Für alles andere nutze FALSE.
Exakte Übereinstimmung (FALSE)
Damit sagst du VLOOKUP(): „Gib nur ein Ergebnis zurück, wenn du genau diesen Wert findest.“ Zum Beispiel sucht =VLOOKUP("E1005", A:G, 7, FALSE) nach E1005, gibt das Gehalt aus Spalte 7 zurück und liefert 90000.
Existiert der Wert nicht, bekommst du einen #N/A-Fehler.

Exakte Übereinstimmung in VLOOKUP(). Bild: Autor.
Ungefähre Übereinstimmung (TRUE)
Damit sagst du VLOOKUP(): „Wenn du keinen exakten Treffer findest, gib den nächstkleineren Wert zurück.“ Das klingt hilfreich – ist es manchmal auch, liefert aber ebenso oft still und leise falsche Antworten.
Beispiel: E1011 existiert in unserem Datensatz nicht. Die letzte Mitarbeiter-ID ist E1010. Wenn du also =VLOOKUP("E1011", A:G, 7, TRUE) verwendest, gibt VLOOKUP() keinen Fehler zurück. Stattdessen liefert es den Wert für den nächstkleineren Treffer, also E1010. In der Zelle steht dann 88000.
Obwohl E1011 fehlt, bekommst du also ein Ergebnis, weil TRUE eine ungefähre Übereinstimmung zulässt.

Ungefähre Übereinstimmung in VLOOKUP(). Bild: Autor.
Stell dir nun vor, dieselben Daten sind unsortiert, und ich gebe dennoch die vorhandene Mitarbeiter-ID in die Formel ein, etwa so: =VLOOKUP("E1011", A:G, 7, TRUE).
Diesmal liefert die Formel ein falsches Gehalt, weil die Nachschlagespalte nicht sortiert ist, die ungefähre Übereinstimmung aber sortierte Daten voraussetzt.

VLOOKUP() mit ungefährem Treffer wirft bei unsortierter Liste Fehler. Bild: Autor.
Häufige Fehler in VLOOKUP() und wie du sie behebst
Schauen wir uns typische Probleme mit VLOOKUP() an und wie du sie löst:
#N/A-Fehler
Ein #N/A-Fehler bedeutet, dass VLOOKUP() den gesuchten Wert nicht gefunden hat.
Angenommen, du nutzt diese Formel: =VLOOKUP("E9999", A:G, 7, FALSE)
Ist E9999 nicht in der ersten Spalte des Bereichs, gibt die Formel #N/A zurück.
Das kann auch passieren, wenn der Wert im Sheet anders eingegeben wurde, z. B. mit zusätzlichen Leerzeichen oder durch Formatierungsprobleme.
So behebst du das:
-
Stelle sicher, dass der Wert in der ersten Spalte des Bereichs vorhanden ist
-
Verwende wenn möglich Zellbezüge statt manuell getippter Werte
-
Setze Anführungszeichen, wenn du Textwerte hart codierst
-
Entferne führende oder nachgestellte Leerzeichen aus den Daten
-
Nutze
FALSEnur, wenn du eine exakte Übereinstimmung brauchst
Falscher Spaltenindex
Der Spaltenindex sagt VLOOKUP(), aus welcher Spalte innerhalb des Bereichs der Wert zurückgegeben werden soll. Ist die Zahl zu groß, gibt die Formel #REF! zurück.
Diese Formel =VLOOKUP("E1005", A:G, 8, FALSE) gibt #REF! zurück, weil der Bereich A:G nur 7 Spalten hat.

Falscher Spaltenindex führt zu einem Fehler. Bild: Autor.
Du kannst auch richtige, aber unpassende Ergebnisse bekommen, wenn die Spaltennummer zwar gültig ist, aber auf die falsche Spalte zeigt.
Zum Beispiel:
=VLOOKUP("E1005", A:G, 5, FALSE)
Das liefert die Berufsbezeichnung statt des Gehalts.
So behebst du das:
- Zähle die Spalten ab der ersten Spalte deines gewählten Bereichs
- Prüfe, ob die Spaltennummer zur gewünschten Zielspalte passt
- Stelle sicher, dass die Spalte im Bereich enthalten ist
Probleme mit ungefähren Treffern
Wenn du TRUE nutzt, sucht VLOOKUP() nach dem nächstkleineren Wert statt einen exakten Treffer zu verlangen.
Wenn du =VLOOKUP("E1011", A:G, 7, TRUE) eingibst und es kein E1011 im Datensatz gibt, liefert die Formel statt eines Fehlers den Wert 88000, der zu E1010 gehört.
Das Ergebnis kann plausibel wirken, ist aber keine exakte Übereinstimmung.
So behebst du das:
-
Nutze
FALSE, wenn du ein exaktes Ergebnis brauchst -
Verwende
TRUEnur bei sortierten Daten und wenn ungefähre Ergebnisse akzeptabel sind
Bereichsprobleme
VLOOKUP() kann auch scheitern, wenn der gewählte Bereich nicht zur Aufgabenstellung passt.
Zum Beispiel gibt =VLOOKUP("E1005", A:C, 7, FALSE) #REF! zurück, weil der Bereich A:C nur 3 Spalten hat, die Formel aber Spalte 7 anfordert.
Ein weiteres häufiges Problem: Die Nachschlagespalte ist nicht die erste Spalte im Bereich.
Sieh dir diese Formel an:
=VLOOKUP("E1005", B:G, 7, FALSE)
Hier ist die erste Spalte des Bereichs Spalte B, nicht A. Da VLOOKUP() nur in der ersten Spalte des gewählten Bereichs sucht, kann es E1005 nicht finden.
So behebst du das:
- Stelle sicher, dass die Nachschlagespalte die erste Spalte des Bereichs ist
- Stelle sicher, dass der Bereich die Zielspalte enthält
- Prüfe den gewählten Bereich, bevor du die Formel finalisierst

Falscher Bereich führt zu einem Fehler. Bild: Autor.
VLOOKUP() über mehrere Sheets in Google Sheets
Du kannst mit VLOOKUP() auch Daten aus einem anderen Sheet ziehen, indem du den Sheetnamen vor den Bereich stellst.
Das Format sieht so aus:
=VLOOKUP(search_key, SheetName!range, index, FALSE)
Der Teil SheetName! sagt der Formel, in welchem Sheet gesucht werden soll.
Angenommen, deine Daten liegen in einem Sheet namens Employees, du arbeitest aber in einem anderen Sheet. Um die Abteilung für die Mitarbeiter-ID E1005 zu finden, nutze:
=VLOOKUP("E1005", Employees!A:G, 4, FALSE)
Dabei gilt:
-
Employees!A:Gsucht im Sheet Employees -
4gibt die Spalte Department zurück
Die Formel liefert die Abteilung für E1005.

Anderes Sheet in VLOOKUP() referenzieren. Bild: Autor.
Wenn Sheet-Namen Leerzeichen enthalten
Wenn der Sheet-Name Leerzeichen enthält, setze ihn in einfache Anführungszeichen, zum Beispiel:
=VLOOKUP("E1005", 'Employee Data'!A:G, 7, FALSE)
Ohne Anführungszeichen funktioniert die Formel nicht.
VLOOKUP() vs. INDEX MATCH in Google Sheets
VLOOKUP() sucht in einer festen Spalte und liefert positionsbasiert Daten zurück, während INDEX MATCH Werte direkt über Zeilen- und Spaltenbezüge findet – und damit auch dann funktioniert, wenn sich die Tabellenstruktur ändert.
VLOOKUP: schnell geschrieben, schnell kaputt
Du hast schon gesehen: =VLOOKUP("E1005", A:G, 7, FALSE) findet das Gehalt für E1005.
Das funktioniert gut, wenn:
- Die Nachschlagespalte links steht
- Die Tabellenstruktur stabil bleibt
Probleme beginnen, wenn sich die Struktur ändert.
Zum Beispiel:
- Du fügst eine neue Spalte ein
- Die Gehaltsspalte rutscht von 7 auf 8
- Die Formel nutzt weiter 7
Jetzt liefert sie ohne Fehlermeldung falsche Werte.
INDEX MATCH: länger, aber stabil
So sieht derselbe Nachschlag mit INDEX MATCH aus:
=INDEX(G:G, MATCH("E1005", A:A, 0))
Dabei gilt:
-
MATCH()findet die Position vonE1005in Spalte A -
INDEX()gibt den Wert aus Spalte G an genau dieser Position zurück
Diese Methode hängt nicht von Spaltennummern ab und funktioniert daher weiter, selbst wenn sich die Tabelle ändert.

INDEX MATCH geht mit den Daten robuster um als VLOOKUP(). Bild: Autor.
Wann es wirklich hilft
Nutze INDEX MATCH, wenn deine Daten nicht von links nach rechts angeordnet sind. Angenommen, Spalte A enthält die Mitarbeiter-ID und Spalte C den Nachnamen. Wenn du nach Nachnamen suchen und die Mitarbeiter-ID zurückgeben willst, ist das ein Rechts-nach-Links-Nachschlag.
VLOOKUP() schafft das nicht ohne Umbau der Tabelle, INDEX MATCH hingegen direkt:
=INDEX(A:A, MATCH("Wilson", C:C, 0))
Du musst deine Daten nicht umsortieren.
VLOOKUP() vs XLOOKUP in Google Sheets
VLOOKUP() arbeitet in einer festen Struktur und hat Einschränkungen, während XLOOKUP() in jede Richtung suchen kann. Es wurde 2022 in Google Sheets eingeführt und ist in vielen Fällen die bessere Option.
Angenommen, du willst die Mitarbeiter-ID über den Nachnamen Wilson finden. Das ist ein Rechts-nach-Links-Nachschlag. VLOOKUP() kann das ohne Umbau der Tabelle nicht, XLOOKUP() schon:
=XLOOKUP("Wilson", C:C, A:A)
Diese Formel:
- Sucht in Nachname (Spalte C)
- Gibt die Mitarbeiter-ID (Spalte A) zurück

XLOOKUP() in Google Sheets. Bild: Autor.
XLOOKUP() ist besser, weil es:
- In jede Richtung funktioniert (links oder rechts)
- Ohne Spaltennummern auskommt
- Standardmäßig exakte Übereinstimmungen liefert
- Individuelle Ausgaben erlaubt, wenn kein Treffer gefunden wird
Fazit
Wenn ich dir nur einen Tipp geben dürfte: Bau VLOOKUP() in ein echtes Spreadsheet ein, das dir wichtig ist – nicht in eine Übungsdatei. Fehler wirken ganz anders, wenn die Daten relevant sind. Du wirst verstehen, warum FALSE existiert, sobald TRUE dir still und leise das falsche Gehalt ausspuckt.
Wenn du dich sicher fühlst, probiere unterschiedliche Match-Typen, passe Bereiche an und achte darauf, wann Ergebnisse keinen Sinn mehr ergeben. Spätestens dann ist eine flexiblere Option wie INDEX MATCH() oder XLOOKUP() oft die bessere Wahl.
Ich bin ein Inhaltsstratege, der es liebt, komplexe Themen zu vereinfachen. Ich habe Unternehmen wie Splunk, Hackernoon und Tiiny Host geholfen, ansprechende und informative Inhalte für ihr Publikum zu erstellen.
FAQs
Kann ich `VLOOKUP()` mit Platzhaltern verwenden?
Ja. Du kannst im Suchbegriff * (beliebig viele Zeichen) und ? (ein einzelnes Zeichen) verwenden, wenn du mit exakter Übereinstimmung suchst.
Zum Beispiel: =VLOOKUP("E10*", A:G, 2, FALSE)
Kann `VLOOKUP()` in Google Sheets zwischen Groß- und Kleinschreibung unterscheiden?
Nein. VLOOKUP() unterscheidet nicht zwischen Groß- und Kleinschreibung. „apple“ und „Apple“ gelten als derselbe Wert. Für groß-/kleinschreibungssensible Nachschlagen musst du Funktionen wie FILTER() oder EXACT() verwenden.
Warum gibt `VLOOKUP()` manchmal leere Ergebnisse zurück?
Das passiert, wenn die gefundene Zelle leer ist. Die Formel hat korrekt gearbeitet, es gibt aber keinen Wert an dieser Stelle.
Kann `VLOOKUP()` benannte Bereiche referenzieren?
Ja. Statt A:G kannst du deinen Bereich benennen (z. B. EmployeeData) und ihn in der Formel verwenden.
So könnte das aussehen:
=VLOOKUP("E1005", EmployeeData, 7, FALSE)

