Ich habe eine Spalte mit durch Kommas getrennten Werten und muss herausfinden, ob ein bestimmter Text vorhanden ist. Das Problem ist, dass die Funktion FIND() und verwandte Funktionen keine Möglichkeit haben, genauen Text abzugleichen. Wenn ich also nach der Zahl 1 suche, findet die Funktion 11. Jede Idee ist willkommen.
Dank im Voraus.
Antwort1
Da die Werte durch Kommas getrennt sind, suchen Sie einfach auch nach den Kommas (und fügen Sie am Anfang und Ende der gesuchten Zeichenfolge ein Komma hinzu).
eg: =FIND(","&F1&",",","&A1&",")
Antwort2
Um in einer Zelle 1 und nicht 11 zu finden, können Sie einen regulären Ausdruck verwenden.
Da Sie durch Kommas getrennte Werte verwenden, muss Ihr regulärer Ausdruck drei Dinge erfüllen:
1,
am Anfang des Textes (^
Anker) oder,1,
irgendwo im Text oder,1
am Ende des Textes ($
Anker).
Es gibt äußerst umfassende Informationen indiese Stack Overflow-Antworterklärt, wie das in Excel geht.
In der Gliederung müssen Sie einen Verweis auf die Bibliothek für reguläre Ausdrücke hinzufügen und eine benutzerdefinierte Funktion für Ihren regulären Ausdruck schreiben. Anschließend können Sie Ihre benutzerdefinierte Funktion in Arbeitsblattformeln genauso verwenden, wie Sie integrierte Excel-Funktionen wie verwenden FIND()
.
Antwort3
Wenn Ihr Format so ist wie gezeigt, können Sie diese Formel ausprobieren:
=IF(VALUE(LEFT(D4,FIND(",",D4,1)-1))=E4,"left",IF(VALUE(RIGHT(D4,LEN(D4)-FIND(",",D4,1))) = E4,"right",""))
Antwort4
Angenommen, Sie können davon ausgehen, dass die Anzahl der Einträge in dieser Zelle unter einem bekannten Maximum (sagen wir 5) liegt und sie aus Zahlen wie in Ihrem Beispiel (11,13) bestehen:
- Teilen Sie die Spalte in 5 neue Spalten auf, die jeweils den Text zwischen zwei Kommas enthalten.
- Machen Sie Zahlen aus dem Text
- Jetzt können Sie Zahlen mit Zahlen vergleichen. Angenommen, E ist die ursprüngliche Spalte wie in Ihrem Beispiel:
Die Formel in der ersten Hilfsspalte wäre:
=LEFT(E5;FIND(",",E5)-1)
Die Formel in der zweiten Hilfsspalte wäre:
=MID(E5;FIND(",";E5)+1;FIND(",";E5;FIND(",";E5)+1)-FIND(",";E5)-1)
und so weiter.