INDEX und MATCH über mehrere Spalten
Um einen Wert durch Übereinstimmung über mehrere Spalten zu finden, kann eine Array-Formel, die auf den Funktionen INDEX und MATCH basiert und MMULT, TRANSPOSE, und COLUMN verwendet, Ihnen helfen.
Wie kann man einen Wert durch Übereinstimmung über mehrere Spalten finden?
Um die entsprechende Klasse jedes Schülers wie in der obigen Tabelle gezeigt auszufüllen, wo die Informationen über mehrere Spalten verteilt sind, können Sie zunächst den Trick mit den Funktionen MMULT, TRANSPOSE und COLUMN verwenden, um ein Matrix-Array zu erstellen. Dann gibt die MATCH-Funktion die Position Ihres Suchwerts zurück, die an INDEX weitergegeben wird, um den gesuchten Wert im Array abzurufen.
Allgemeine Syntax
=INDEX(Rückgabebereich,(MATCH(1,MMULT(--(Suchbereich=Suchwert),TRANSPOSE(COLUMN(Suchbereich)^0)),0)))
√ Hinweis: Dies ist eine Array-Formel, die Sie mit Strg + Umschalt + Eingabe eingeben müssen.
- Rückgabebereich: Der Bereich, aus dem die Formel die Klasseninformationen zurückgeben soll. Hier bezieht es sich auf den Klassenbereich.
- Suchwert: Der Wert, den die Formel verwendet, um die entsprechenden Klasseninformationen zu finden. Hier bezieht es sich auf den angegebenen Namen.
- Suchbereich: Der Zellbereich, in dem der Suchwert aufgeführt ist; der Bereich mit den Werten, die mit dem Suchwert verglichen werden sollen. Hier bezieht es sich auf den Namenbereich.
- Übereinstimmungstyp 0: Erzwingt, dass MATCH den ersten Wert findet, der genau gleich dem Suchwert ist.
Um die Klasse von Jimmy zu finden, kopieren Sie bitte die folgende Formel in Zelle H5 oder geben Sie sie ein, und drücken Sie Strg + Umschalt + Eingabe, um das Ergebnis zu erhalten:
=INDEX($B$5:$B$7,(MATCH(1,MMULT(--($C$5:$E$7=G5),TRANSPOSE(COLUMN($C$5:$E$7)^0)),0)))
√ Hinweis: Die Dollarzeichen ($) oben zeigen absolute Bezüge an, was bedeutet, dass sich die Namen- und Klassenbereiche in der Formel nicht ändern, wenn Sie die Formel in andere Zellen verschieben oder kopieren. Beachten Sie, dass Sie keine Dollarzeichen zu der Zellreferenz hinzufügen sollten, die den Suchwert darstellt, da Sie möchten, dass er relativ bleibt, wenn Sie ihn in andere Zellen kopieren. Nachdem Sie die Formel eingegeben haben, ziehen Sie den Ausfüllknauf nach unten, um die Formel auf die darunter liegenden Zellen anzuwenden.
Erklärung der Formel
=INDEX($B$5:$B$7,(MATCH(1,MMULT(--($C$5:$E$7=G5),TRANSPOSE(COLUMN($C$5:$E$7)^0)),0)))
- --($C$5:$E$7=G5): Dieser Abschnitt überprüft jeden Wert im Bereich $C$5:$E$7 ob sie gleich dem Wert in Zelle G5 sind, und generiert ein WAHR- und FALSCH-Array wie folgt:
{TRUE,FALSE,FALSE;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE}.
Das doppelte Negative wandelt dann die WAHR- und FALSCH-Werte in 1en und 0en um, um ein Array wie dieses zu erzeugen:
{1,0,0;0,0,0;0,0,0}. - COLUMN($C$5:$E$7): Die COLUMN-Funktion gibt die Spaltennummern für den Bereich $C$5:$E$7 in einem Array wie diesem zurück: {3,4,5}.
- TRANSPOSE(TRANSPOSE(COLUMN($C$5:$E$7)^0)^0) = TRANSPOSE(TRANSPOSE({3,4,5}^0)^0): Nachdem die Potenz auf 0 erhöht wurde, werden alle Zahlen im Array {3,4,5} in 1 umgewandelt: {1,1,1}. Die TRANSPOSE-Funktion konvertiert dann das Spaltenarray in ein Zeilenarray wie folgt: {1;1;1}.
- MMULT(MMULT(--($C$5:$E$7=G5),,TRANSPOSE(COLUMN($C$5:$E$7)^0))) = MMULT(MMULT({1,0,0;0,0,0;0,0,0},,{1;1;1})): Die MMULT-Funktion gibt das Matrixprodukt der beiden Arrays wie folgt zurück: {1;0;0}.
- MATCH(1,MATCH(1,MMULT(--($C$5:$E$7=G5),TRANSPOSE(COLUMN($C$5:$E$7)^0)),0),0) = MATCH(1,MATCH(1,{1;0;0},0),0): Der Übereinstimmungstyp 0 zwingt die MATCH-Funktion, die Position des ersten Treffers von 1 im Array {1;0;0} zurückzugeben, welches 1 ist.
- INDEX($B$5:$B$7$B$5:$B$7,,,(MATCH(1,MMULT(--($C$5:$E$7=G5),,,TRANSPOSE(COLUMN($C$5:$E$7)^0)),0))) = INDEX($B$5:$B$7$B$5:$B$7,,,1): Die INDEX-Funktion gibt den ersten Wert im Klassenbereich $B$5:$B$7 zurück, welcher A ist.
Um ganz einfach einen Wert durch Übereinstimmung über mehrere Spalten zu finden, können Sie auch unser professionelles Excel-Add-in Kutools für Excel verwenden. Sehen Sie sich hier die Anweisungen an, um die Aufgabe zu erledigen.
Verwandte Funktionen
Die Excel INDEX-Funktion gibt den angezeigten Wert basierend auf einer bestimmten Position aus einem Bereich oder einem Array zurück.
Die Excel MATCH-Funktion sucht nach einem bestimmten Wert in einem Zellbereich und gibt die relative Position des Werts zurück.
Die Excel MMULT-Funktion gibt das Matrixprodukt zweier Arrays zurück. Das Array-Ergebnis hat die gleiche Anzahl von Zeilen wie Array1 und die gleiche Anzahl von Spalten wie Array2.
Die Excel TRANSPOSE-Funktion dreht die Ausrichtung eines Bereichs oder Arrays. Zum Beispiel kann sie eine horizontal in Zeilen angeordnete Tabelle vertikal in Spalten oder umgekehrt drehen.
Die COLUMN-Funktion gibt die Nummer der Spalte zurück, in der die Formel erscheint, oder gibt die Spaltennummer des angegebenen Bezugs zurück. Zum Beispiel gibt die Formel =COLUMN(BD) 56 zurück.
Verwandte Formeln
Mehrfachkriterien-Suche mit INDEX und MATCH
Bei der Arbeit mit einer großen Datenbank in einer Excel-Tabelle mit mehreren Spalten und Zeilenbeschriftungen ist es immer knifflig, etwas zu finden, das mehreren Kriterien entspricht. In diesem Fall können Sie eine Array-Formel mit den Funktionen INDEX und MATCH verwenden.
Zwei-Wege-Suche mit INDEX und MATCH
Um in Excel sowohl über Zeilen als auch über Spalten hinweg zu suchen, oder um einen Wert am Schnittpunkt einer bestimmten Zeile und Spalte zu finden, können wir die Hilfe der INDEX- und MATCH-Funktionen nutzen.
Nächstgelegenen übereinstimmenden Wert mit mehreren Kriterien suchen
In einigen Fällen müssen Sie möglicherweise den nächstgelegenen oder ungefähren übereinstimmenden Wert basierend auf mehr als einem Kriterium finden. Mit der Kombination von INDEX, MATCH und IF-Funktionen können Sie dies schnell in Excel erledigen.
Die besten Tools zur Büroproduktivität
Kutools für Excel - Hilft Ihnen, aus der Menge hervorzustechen
Kutools für Excel bietet über 300 Funktionen, sodass das, was Sie benötigen, nur einen Klick entfernt ist...
Office Tab - Aktiviert tabbed Lesen und Bearbeiten in Microsoft Office (inklusive Excel)
- In einer Sekunde zwischen Dutzenden offener Dokumente wechseln!
- Reduziert Hunderte von Mausklicks für Sie jeden Tag, verabschieden Sie sich von der Maushand.
- Steigert Ihre Produktivität um 50 % beim Anzeigen und Bearbeiten mehrerer Dokumente.
- Bringt effiziente Tabs ins Office (inklusive Excel), genau wie bei Chrome, Edge und Firefox.