Dies beantwortet also, wie Sie es mit einer Vlookup-Funktion tun, aber nur in einer Zelle.
In Ihrem Beispiel hat jede Datentabelle die folgenden Zellreferenzen:
Tabelle 1: Blatt 1! A1: C3
a d g
b e h
c f i
Tabelle 2: Blatt 2! A1: C3
c j m
a k n
b l o
So sollte die Formel aufgebaut sein.
Join-Formel
=ArrayFormula(
{
Sheet1!A1:C,
vlookup(Sheet1!A1:A, {Sheet2!A1:A, Sheet2!B1:C}, {2,3}, false)
}
)
Der Schlüssel, damit diese Formel funktioniert, besteht darin, zu verstehen, wie geschweifte Klammern im Vlookup-Bereich verwendet werden. Grundsätzlich definieren Sie die erste Zellreferenz des Bereichs als die Spalte, die mit dem Vlookup Search_Key übereinstimmen soll. Der Rest der Zellreferenzen im Bereich bezieht sich auf die Spalten, denen Sie beitreten möchten.
Der Index wird als {2,3} geschrieben, um die zweite und dritte Spalte des Bereichs zurückzugeben (der Bereich besteht aus insgesamt 3 Spalten). geschweifte Klammern haben nichts mit Arrayformula im Vlookup-Index zu tun, sind jedoch erforderlich, um mehrere Spalten von der Vlookup-Funktion zurückzugeben. Der Grund, {1,2,3} nicht zu schreiben, besteht darin, dass Sie die Spalte, die zum Verknüpfen verwendet wird, nicht einschließen möchten.
Beispiel, in dem sich die zum Verknüpfen verwendete Spalte in Tabelle 2 in einer anderen Spalte befindet (rechts von den Daten, die verbunden werden sollen)
Diese Art von Join-Formel kann auch dann verwendet werden, wenn sich die Join-Spalte in der zweiten Tabelle als dritte Spalte dieser Tabelle befindet. Angenommen, die Rohdaten in diesem Beispiel würden folgendermaßen aussehen:
Tabelle 1 (Blatt 1):
a d g
b e h
c f i
Tabelle 2 (Blatt 2):
j m c
k n a
l o b
Wenn Sie die Formel so schreiben, erhalten Sie immer noch das gewünschte Ergebnis (wie in der Tabelle der verknüpften Daten angezeigt):
=ArrayFormula(
{
Sheet1!A1:C,
vlookup(Sheet1!A1:A, {Sheet2!C1:C, Sheet2!A1:B}, {2,3}, false)
}
)
Die Tabelle der verknüpften Daten:
a d g k n
b e h l o
c f i j m
Beachten Sie in der Join-Formel, dass sich die dritte Spalte von Tabelle 2 als erste Zellreferenz im Vlookup-Bereich befindet!
Der Grund, warum dies funktioniert, liegt darin, dass der Vlookup Search_Key bei Verwendung von geschweiften Klammern im Bereich (in Verbindung mit Arrayformula) NICHT nach einer Spalte als gemeinsamen Nenner in den Rohdaten sucht, sondern das darin enthaltene Array verwendet geschweifte Klammern als Referenz, um eine Spalte als gemeinsamen Nenner zu finden (standardmäßig ist dies die erste Spalte des Bereichs).
Ich habe einen umfassenden Leitfaden zu diesem Thema geschrieben:
index
undmatch
hätte die gleiche Komplexität wie Lookups, aber Sie können diese Implementierung ausprobieren . Wenn dies nicht funktioniert, muss meiner Meinung nach eine benutzerdefinierte Funktion geschrieben werden.