2016-08-06 23 views
0

Entschuldigung finden, wenn dies bereits gefragt worden ist, haben viele Antworten über diese Zeilen lesen, (dies derjenige ist, der am besten meine Situation beschreibt - Excel - Match cells that contains exact match from list)Excel - exakte Zeichenfolge aus durch Kommata getrennte Liste

Ich würde Excel Index gefallen Eine Spalte, in der die Zellen durch Kommas getrennte Wertelisten enthalten. Einige Listen haben nur einen Eintrag und somit kein Komma.

Ich möchte Excel, um eine genaue Übereinstimmung für eine gegebene Zeichenfolge zu finden, zum Beispiel, wenn ich nach "C2" suche Ich möchte nur "C2" und nicht "C22" oder "C230" finden. Es sollte auch "C2", findet

Ich habe habe dies mit dieser Formel für einzelne Zellen zu arbeiten:

= ISNUMBER (FIND (" "& E $ 1 &", ";"" & $ B1 & ","))

Wo "C2" in Zelle E1 enthalten ist und die durch Komma getrennte Liste in Zelle B1 ist.

Wenn ich jedoch versuche, dies in eine INDEX-Formel aufzunehmen (ich möchte, dass es den entsprechenden Wert aus der Zelle in Spalte A zurückgibt, in der C2 existiert), findet es wieder alle Instanzen von "C2". Ich schrieb die Formel wie folgt:

= INDEX (A: A; ISNUMBER (FIND (" "& E $ 1 &", ";" "& B: B &",")))

Wenn jemand hat einen Ratschlag, wie man das zur Arbeit bringt, wäre ich sehr dankbar!

Katrina

+0

Gibt es nur ein Vorkommen von C4 in Spalte B? –

+0

Ja, jeder Wert sollte nur einmal in der gesamten Spalte mit kommagetrennten Listen vorkommen – KLG

Antwort

0

Verwenden der =ISNUMBER(FIND(" "&E$1&", "; " "&$B1&", ")) Funktion in einer Hilfskolonne, etwa F, und ziehen entlang der kommagetrennte Werte in B. nach unten

Verwendung =INDEX(A:A;MATCH(TRUE;F:F;0)). Dies findet das erste Auftreten von C2 oder #NV in Fällen, in denen C2 nicht auftritt.

Beachten Sie, dass die Funktion "C2" und "C2" findet, aber nicht "C2".

+0

Vielen Dank, das hat funktioniert, aber es ist nicht praktikabel, für jeden Wert eine Hilfsspalte zu haben, da es Hunderte von ihnen gibt. Was ich tun muss, ist die beiden Formeln zu kombinieren ... Ich habe diese Lösung gefunden: [code] {= IFERROR (ADRESSE (GROß (ISNUMBER (SEARCH ($ E1; $ B $ 1: $ B $ 5)) * ROW ($ B $ 1: $ B $ 5); SPALTEN ($ A: A)); 1); "")} [/ code] Allerdings muss ich den Inhalt der Zelle extrahieren, anstatt die Formel einfach die Zelle zurückzugeben Referenz (was ADDRESS tut). Bisher sind meine Versuche, diese Formel mit INDEX und/oder MATCH zu verbinden, gescheitert.Hast du irgendwelche Tipps? – KLG

+0

Ich kann nicht glauben, dass man Kommentare nur für 5 Minuten bearbeiten kann, nachdem sie gepostet wurden ... sorry für falsche [code] Tags, ich kann sie jetzt nicht löschen ... – KLG

0

=SUMPRODUCT(ISNUMBER(FIND(" "&E$1&", "; " "&B:B&", "))*A:A)

SUMPRODUCT arbeitet mit Arrays groß. Die Funktion ISNUMBER gibt ein Array von false/0 und true/1 zurück, das dann mit dem entsprechenden Wert in Spalte A multipliziert wird und nur den Wert in A zurückgibt, für den ISNUMBER den Wert true hat. Wenn mehrere Vorkommen des E1-Werts auftreten, wird die Summe der entsprechenden Werte in A zurückgegeben.

Für eine bessere Leistung sollten die Bereiche in A und B auf Bereiche beschränkt werden, in denen Werte möglich sind, z. B. A1: A100 und B1: B100.

+0

Vielen Dank für deine Antwort, tut mir leid, habe ich nicht war in der Lage früher zu antworten! Ich habe einen VALUE-Fehler, als ich die SUMPRODUCT-Formel ausprobiert habe ... Ich werde in den nächsten Tagen mehr darüber erfahren, danke für deine Hilfe! – KLG

+0

Das ist was für mich funktioniert: http://fs5.directupload.net/images/160812/zqwc9ieu.png –

+0

Danke, ich habe dein Bild gespeichert, ich werde es erneut versuchen und lassen Sie wissen, was passiert! – KLG