microsoft excel

Abgleich von Werten in Spalte A mit Werten in den Spalten B,C oder D und Rückgabe des Namens der Spalte,in der die Übereinstimmung gefunden wurde

Ich habe eine Tabelle,die in etwa so aussieht (aber Tausende von Zeilen):

A B C D
a1 a3 a1 a4
a2 a2 a5
a3
a4
a5

Die Idee ist,eine weitere Spalte,E,hinzuzufügen,die mir sagt,zu welcher "Kategorie" (B,C und D sind die verschiedenen Kategorien)jedes Element von A gehört.

Meiner Meinung nach sollte es B:D nach allen Werten von A durchsuchen und dann,wenn es eine Übereinstimmung findet,den Namen der Spalte zurückgeben,in der die Übereinstimmung gefunden wurde.

Leider bin ich nicht an die Verwendung von Excel gewöhnt (ich verwende normalerweise R)und bin ein bisschen aus der Übung.Für jede Hilfe wäre ich sehr dankbar!

Die gewünschte Ausgabe würde in etwa so aussehen:

A B C D E
a1 a3 a1 a4 "C"
a2 a2 a5 "C"
a3 "B"
a4 "D"
a5 "D"

Versuchen Sie diese Lösung.

Siehe die nachstehende Bildschirmabbildung.

In E1 lautet die Formel.

=SUBSTITUTE(ADDRESS(1,MAX(IF($B$1:$D$5=A1,COLUMN($B$1:$D$5),0)),4),1,"")

Beachten Sie,dass Sie nach dem Schreiben dieser Formel diese in eine Array-Formel umwandeln müssen,indem SieCTRL+SHIFT+ENTERin der Formelleiste.Die Formel wird automatisch in geschweifte Klammern eingeschlossen,um anzuzeigen,dass es sich um eine Array-Formel handelt.

Ohne diesen Schritt wird es nicht richtig funktionieren.

Ziehen Sie es nach unten bis zu den gewünschten Zeilen.

Sie können auch IFERROR verwenden,um jeden #VALUE-oder #N/A-Fehler zu eliminieren und durch ein Leerzeichen zu ersetzen,wenn der Wert nicht gefunden wird,falls dies der Fall ist.

Je nach Listentrennzeichen,das in einigen Regionen;statt,sein kann,müssen Sie in der Formel vorsichtshalber das Komma durch ein Semikolon ersetzen.

Falls Sie doppelte Anführungszeichen um den Spaltenbuchstaben wünschen.

=""""&SUBSTITUTE(ADDRESS(1,MAX(IF($B$1:$D$5=A1,COLUMN($B$1:$D$5),0)),4),1,"")&""""



Wenn Sie die Möglichkeit haben,dass mehr als ein Ereignis auftritt,versuchen Sie etwas wie:

=TEXTJOIN(",",,SUBSTITUTE(IFERROR(SORT(ADDRESS(1,($A2=B2:D6)*COLUMN(B2:D6),4)),""),"1",""))

die auch die Spalten sortiert.

Wenn Sie etwas anderes als wörtliche Buchstabenbeschriftungen haben, die mit den Excel-Spaltenbeschriftungen übereinstimmen, werden sie im Folgenden alle gesammelt. SORT kann verwendet werden, um entweder nach Spaltenreihenfolge zu sortieren oder um die tatsächlichen Header-Ergebnisse alphabetisch zu sortieren:

=TEXTJOIN(",",,IFERROR(SWITCH(SUBSTITUTE(IFERROR(SORT(ADDRESS(1,($A2=B2:D6)*COLUMN(B2:D6),4)),""),"1",""),"B",B1,"C",C1,"D",D1),""))