Inhaltsverzeichnis
Das Tutorial erklärt die Vektor- und Arrayformen der Excel-Funktion LOOKUP und demonstriert anhand von Formelbeispielen typische und nicht-triviale Anwendungen von LOOKUP in Excel.
Eine der häufigsten Fragen, die sich jeder Excel-Benutzer von Zeit zu Zeit stellt, ist die folgende: " Wie kann ich einen Wert auf einem Blatt nachschlagen und einen passenden Wert auf ein anderes Blatt übertragen? "Natürlich kann es viele Variationen des Basisszenarios geben: Sie können nach der engsten Übereinstimmung statt nach einer exakten Übereinstimmung suchen, Sie können vertikal in einer Spalte oder horizontal in einer Zeile suchen, ein oder mehrere Kriterien auswerten usw. Das Wesentliche ist jedoch dasselbe - Sie müssen wissen, wie Sie in Excel nachschlagen können.
Microsoft Excel bietet eine Handvoll verschiedener Möglichkeiten zum Nachschlagen. Zunächst lernen wir eine Funktion kennen, die für die einfachsten Fälle des vertikalen und horizontalen Nachschlagens gedacht ist. Wie Sie leicht erraten können, spreche ich von der Funktion LOOKUP.
Excel-Funktion LOOKUP - Syntax und Verwendung
Auf der einfachsten Ebene sucht die Funktion LOOKUP in Excel einen Wert in einer Spalte oder Zeile und gibt einen übereinstimmenden Wert an der gleichen Position in einer anderen Spalte oder Zeile zurück.
Es gibt zwei Formen von LOOKUP in Excel: Vektor und Array Jedes Formular wird im Folgenden einzeln erläutert.
Excel-Funktion LOOKUP - Vektorform
In diesem Zusammenhang ist ein Vektor Folglich verwenden Sie die Vektorform von LOOKUP, um eine Zeile oder eine Spalte von Daten nach einem bestimmten Wert zu durchsuchen und einen Wert von der gleichen Position in einer anderen Zeile oder Spalte zu ziehen.
Die Syntax des Vektors Lookup lautet wie folgt:
LOOKUP(lookup_value, lookup_vector, [result_vector])Wo:
- Nachschlagen_Wert (erforderlich) - ein zu suchender Wert, der eine Zahl, ein Text, ein logischer Wert von TRUE oder FALSE oder ein Verweis auf eine Zelle sein kann, die den Suchwert enthält.
- Nachschlagen_Vektor (erforderlich) - zu durchsuchender einzeiliger oder einspaltiger Bereich, sortiert nach aufsteigende Reihenfolge .
- Ergebnis_Vektor (optional) - ein einzeiliger oder einspaltiger Bereich, aus dem Sie das Ergebnis zurückgeben möchten - ein Wert an der gleichen Position wie der Suchwert. Ergebnis_Vektor muss die gleiche Größe als nachschlagen_bereich Wird dies nicht angegeben, wird das Ergebnis von nachschlagen_vektor .
Die folgenden Beispiele zeigen zwei einfache Lookup-Formeln in Aktion.
Vertikale Suchformel - Suche in einem einspaltigen Bereich
Nehmen wir an, Sie haben eine Liste von Verkäufern in Spalte D (D2:D5) und die von ihnen verkauften Produkte in Spalte E (E2:E5). Sie erstellen ein Dashboard, in das Ihre Benutzer den Namen des Verkäufers in B2 eingeben, und Sie benötigen eine Formel, die ein entsprechendes Produkt in B3 abruft. Die Aufgabe lässt sich mit dieser Formel leicht bewältigen:
=LOOKUP(B2,D2:D5,E2:E5)
Zum besseren Verständnis der Argumente sehen Sie sich bitte diesen Screenshot an:
Horizontale Lookup-Formel - Suche in einem einzeiligen Bereich
Wenn Ihre Quelldaten ein horizontales Layout haben, d.h. die Einträge befinden sich in Zeilen und nicht in Spalten, dann geben Sie einen einzeiligen Bereich im Feld nachschlagen_vektor und Ergebnis_Vektor Argumente, wie dieses:
=LOOKUP(B2,E1:H1,E2:H2)
Im zweiten Teil dieses Tutorials finden Sie einige weitere Beispiele für Excel-Lookups, die komplexere Aufgaben lösen. In der Zwischenzeit sollten Sie sich an die folgenden einfachen Fakten erinnern, die Ihnen helfen, mögliche Fallstricke zu umgehen und häufige Fehler zu vermeiden.
5 Dinge, die Sie über die Vektorform von Excel LOOKUP wissen sollten
- Werte in nachschlagen_vektor sollten sortiert werden in aufsteigende Reihenfolge d.h. von der kleinsten bis zur größten Zahl oder von A bis Z, andernfalls könnte Ihre Excel-Lookup-Formel einen Fehler oder ein falsches Ergebnis liefern. Wenn Sie eine Lookup-Funktion für unsortierte Daten und verwenden Sie dann entweder INDEX MATCH oder OFFSET MATCH.
- Nachschlagen_Vektor und Ergebnis_Vektor muss ein einreihig oder einspaltig Bereich derselben Größe.
- Die Funktion LOOKUP in Excel lautet Groß- und Kleinschreibung wird nicht berücksichtigt wird nicht zwischen Groß- und Kleinbuchstaben unterschieden.
- Excel LOOKUP funktioniert auf der Grundlage von ungefähre Übereinstimmung Genauer gesagt, sucht eine Lookup-Formel zuerst nach einer exakten Übereinstimmung. Wenn sie den Lookup-Wert nicht genau finden kann, sucht sie nach dem nächstkleinster Wert d.h. der größte Wert in nachschlagen_vektor die kleiner oder gleich ist als lookup_value .
Wenn Ihr Suchwert zum Beispiel "5" ist, wird die Formel zuerst danach suchen. Wenn "5" nicht gefunden wird, wird nach "4" gesucht. Wenn "4" nicht gefunden wird, wird nach "3" gesucht usw.
- Wenn lookup_value ist kleiner als der kleinste Wert in nachschlagen_vektor gibt Excel LOOKUP den Fehler #N/A zurück.
Excel-Funktion LOOKUP - Array-Form
Die Array-Form der Funktion LOOKUP sucht den angegebenen Wert in der ersten Spalte oder Zeile des Arrays und ruft einen Wert an derselben Position in der letzten Spalte oder Zeile des Arrays ab.
Das Array Lookup hat 2 Argumente, von denen beide erforderlich sind:
LOOKUP(nachschlag_wert, array)Wo:
- Nachschlagen_Wert - einen Wert, nach dem in einem Array gesucht werden soll.
- Array - einen Bereich von Zellen, in dem Sie nach dem Nachschlagewert suchen möchten. Die Werte in der ersten Spalte oder Zeile des Feldes (je nachdem, ob Sie V-Lookup oder H-Lookup verwenden) müssen in aufsteigender Reihenfolge sortiert sein. Groß- und Kleinbuchstaben werden als gleichwertig betrachtet.
Wenn sich zum Beispiel die Verkäufernamen in der ersten Spalte des Arrays (Spalte A) und die Bestelldaten in der letzten Spalte des Arrays (Spalte C) befinden, können Sie die folgende Formel verwenden, um den Namen zu suchen und das passende Datum zu finden:
=LOOKUP(B2,D2:F5)
Hinweis: Die Array-Form der Excel-Funktion LOOKUP ist nicht mit den Excel-Array-Formeln zu verwechseln. Obwohl LOOKUP mit Arrays arbeitet, handelt es sich um eine reguläre Formel, die auf die übliche Weise durch Drücken der Eingabetaste abgeschlossen wird.
4 Dinge, die Sie über die Array-Form von Excel LOOKUP wissen sollten
- Wenn Array hat mehr Zeilen als Spalten oder die gleiche Anzahl von Spalten und Zeilen, sucht eine Lookup-Formel in der ersten Spalte (horizontales Lookup).
- Wenn Array hat mehr Spalten als Zeilen Excel LOOKUP sucht in der ersten Zeile (vertikale Suche).
- Wenn eine Formel den Nachschlagewert nicht finden kann, verwendet sie die größter Wert im Array, die kleiner oder gleich ist lookup_value .
- Wenn die Nachschlagewert ist kleiner als der kleinste Wert in der ersten Spalte oder Zeile des Arrays (abhängig von den Array-Dimensionen), gibt eine Lookup-Formel den Fehler #N/A zurück.
Wichtiger Hinweis! Die Funktionalität des Excel-Formulars LOOKUP ist begrenzt, und wir empfehlen, es nicht zu verwenden. Stattdessen können Sie die Funktionen VLOOKUP oder HLOOKUP verwenden, die verbesserte Versionen für vertikale bzw. horizontale Suchvorgänge sind.
Verwendung der Funktion LOOKUP in Excel - Formelbeispiele
Obwohl es leistungsfähigere Funktionen zum Nachschlagen und Abgleichen in Excel gibt (die Gegenstand unseres nächsten Tutorials sind), ist LOOKUP in vielen Situationen nützlich, und die folgenden Beispiele zeigen einige nicht triviale Anwendungen. Bitte beachten Sie, dass alle nachstehenden Formeln die Vektorform von Excel LOOKUP verwenden.
Nachschlagen eines Wertes in der letzten nicht leeren Zelle einer Spalte
Wenn Sie eine Spalte mit dynamisch aufgefüllten Daten haben, möchten Sie vielleicht den zuletzt hinzugefügten Eintrag auswählen, d. h. die letzte nicht leere Zelle in einer Spalte ermitteln. Verwenden Sie dazu diese allgemeine Formel:
LOOKUP(2, 1/( Spalte ""), Spalte )In der obigen Formel sind alle Argumente mit Ausnahme des Spaltenverweises Konstanten. Um also den letzten Wert in einer bestimmten Spalte abzurufen, müssen Sie nur den entsprechenden Spaltenverweis angeben. Um beispielsweise den Wert der letzten nicht leeren Zelle in Spalte A zu extrahieren, verwenden Sie diese Formel:
=LOOKUP(2, 1/(A:A""), A:A)
Um den letzten Wert aus anderen Spalten abzurufen, ändern Sie die Spaltenreferenzen wie in der Abbildung unten gezeigt - die erste Referenz ist die Spalte, die auf leere/nicht leere Zellen geprüft werden soll, und die zweite Referenz ist die Spalte, aus der der Wert zurückgegeben werden soll:
Wie diese Formel funktioniert
In der lookup_value geben Sie 2 oder eine beliebige andere Zahl größer als 1 an (Sie werden gleich verstehen, warum).
In der nachschlagen_vektor geben Sie folgenden Ausdruck ein: 1/(A:A"")
- Zunächst führen Sie die logische Operation A:A"" aus, die jede Zelle in Spalte A mit einer leeren Zeichenkette vergleicht und TRUE für leere Zellen und FALSE für nicht leere Zellen zurückgibt. Im obigen Beispiel gibt die Formel in F2 dieses Array zurück: {TRUE;TRUE;TRUE;TRUE;FALSE...}
- Dann teilen Sie die Zahl 1 durch jedes Element des obigen Arrays. Da TRUE gleich 1 und FALSE gleich 0 ist, erhalten Sie ein neues Array, das aus 1en und #DIV/0!-Fehlern besteht (das Ergebnis der Division durch 0), und dieses Array wird verwendet als nachschlagen_vektor In diesem Beispiel sind es {1;1;1;1;1;#DIV/0!...}
Wie kommt es nun, dass die Formel den letzten nicht leeren Wert in einer Spalte zurückgibt, da lookup_value nicht mit einem Element von nachschlagen_vektor Der Schlüssel zum Verständnis der Logik ist, dass Excel LOOKUP mit ungefährer Übereinstimmung sucht, d. h. wenn der exakte Nachschlagewert nicht gefunden wird, wird der nächstgrößere Wert in nachschlagen_vektor die kleiner ist als lookup_value In unserem Fall, lookup_value ist 2 und der größte Wert in nachschlagen_vektor ist 1, also passt LOOKUP auf die letzte 1 im Array, also auf die letzte nicht leere Zelle!
In der Ergebnis_Vektor verweisen Sie auf die Spalte, aus der Sie einen Wert zurückgeben möchten, und Ihre Lookup-Formel holt den Wert an der gleichen Position wie der Lookup-Wert.
Tipp: Wenn Sie die Nummer der Zeile der den letzten Wert enthält, und verwenden Sie dann die Funktion ROW, um ihn abzurufen, zum Beispiel: =LOOKUP(2,1/(A:A""),ROW(A:A))
Nachschlagen eines Wertes in der letzten nicht leeren Zelle in einer Zeile
Wenn Ihre Quelldaten nicht in Spalten, sondern in Zeilen angeordnet sind, können Sie mit dieser Formel den Wert der letzten nicht leeren Zelle ermitteln:
LOOKUP(2, 1/( Zeile ""), Zeile )Im Grunde ist diese Formel nichts anderes als eine leichte Abwandlung der vorherigen Formel, mit dem einzigen Unterschied, dass Sie den Zeilenbezug statt des Spaltenbezugs verwenden.
Um zum Beispiel den Wert der letzten nicht leeren Zelle in Zeile 1 zu ermitteln, verwenden Sie diese Formel:
=LOOKUP(2, 1/(1:1""), 1:1)
Der folgende Bildschirmausdruck zeigt das Ergebnis:
Abrufen eines Wertes, der mit dem letzten Eintrag in einer Zeile verbunden ist
Mit ein wenig Kreativität lässt sich die obige Formel leicht für die Lösung anderer ähnlicher Aufgaben anpassen. Sie kann zum Beispiel verwendet werden, um einen Wert zu ermitteln, der mit dem letzten Vorkommen eines bestimmten Wertes in einer Zeile verbunden ist. Das mag etwas obskur klingen, aber das folgende Beispiel macht die Sache leichter verständlich.
Angenommen, Sie haben eine Übersichtstabelle, in der Spalte A die Verkäufernamen enthält und die nachfolgenden Spalten für jeden Monat irgendwelche Daten enthalten. In diesem Beispiel enthält eine Zelle "ja", wenn ein bestimmter Verkäufer in einem bestimmten Monat mindestens ein Geschäft abgeschlossen hat. Unser Ziel ist es, einen Monat zu finden, der mit dem letzten "ja"-Eintrag in einer Zeile verbunden ist.
Die Aufgabe kann mit Hilfe der folgenden LOOKUP-Formel gelöst werden:
=LOOKUP(2, 1/(B2:H2="ja"), $B$1:$H$1)
Die Logik der Formel ist im Grunde dieselbe wie im ersten Beispiel, mit dem Unterschied, dass Sie den Operator "gleich" ("=") anstelle von "nicht gleich" ("") verwenden und mit Zeilen statt mit Spalten arbeiten.
Der folgende Screenshot zeigt ein Ergebnis:
Lookup als Alternative zu verschachtelten IFs
In allen bisher besprochenen Lookup-Formeln ist die nachschlagen_vektor und Ergebnis_Vektor Die Syntax der LOOKUP-Funktion von Excel erlaubt es jedoch, die Vektoren in Form einer vertikalen Array-Konstante bereitzustellen, so dass Sie die Funktionalität der verschachtelten WENN-Funktion mit einer kompakteren und leichter zu lesenden Formel nachbilden können.
Angenommen, Sie haben eine Liste von Abkürzungen in Spalte A und möchten diese durch vollständige Namen ersetzen, wobei "C" für "Completed" (abgeschlossen), "D" für "Development" (Entwicklung) und "T" für "Testing" (Tests) steht. Diese Aufgabe kann mit der folgenden verschachtelten IF-Funktion erfüllt werden:
=IF(A2="c", "Abgeschlossen", IF(A2="d", "Entwicklung", IF(A2="t", "Test", "")))
Oder verwenden Sie diese Lookup-Formel:
=LOOKUP(A2, {"c"; "d"; "t"}, {"Abgeschlossen"; "Entwicklung"; "Test"})
Wie in der nachstehenden Abbildung zu sehen ist, liefern beide Formeln identische Ergebnisse:
Hinweis: Damit eine Excel-Lookup-Formel korrekt funktioniert, müssen die Werte in lookup_array sollten von A bis Z oder vom kleinsten zum größten sortiert werden.
Wenn Sie Werte aus einer Nachschlagetabelle abrufen, können Sie eine Vlookup-Funktion in die Datei lookup_value Argument, um eine Übereinstimmung zu finden.
Angenommen, der Nachschlagewert befindet sich in Zelle E2, die Nachschlagetabelle ist A2:C7, und die interessierende Spalte ("Status") ist die dritte Spalte in der Nachschlagetabelle, dann erfüllt die folgende Formel die Aufgabe:
=LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c"; "d"; "t"}, {"Abgeschlossen"; "Entwicklung"; "Test"})
Wie in der nachstehenden Abbildung gezeigt, ruft die Formel den Projektstatus aus der Nachschlagetabelle ab und ersetzt eine Abkürzung durch das entsprechende Wort:
Tipp: Wenn Sie Excel 2016 als Teil eines Office 365-Abonnements verwenden, können Sie die SWITCH-Funktion für ähnliche Zwecke nutzen.
Ich hoffe, diese Beispiele haben Ihnen die Funktionsweise der LOOKUP-Funktion etwas näher gebracht. Um die Formeln besser zu verstehen, können Sie sich gerne diese Excel Lookup-Beispiele herunterladen. Im nächsten Tutorial werden wir einige andere Möglichkeiten für Lookups in Excel besprechen und erklären, welche Lookup-Formel in welcher Situation am besten verwendet werden sollte. Ich danke Ihnen für die Lektüre und hoffe, Sie nächste Woche auf unserem Blog begrüßen zu dürfen!