Gibt es eine eingebaute Funktion, um zu überprüfen, ob eine Zelle ein bestimmtes Zeichen/eine Teilzeichenfolge enthält?
Das bedeutet, dass Sie Textfunktionen wie Left
/Right
/Mid
bedingt anwenden können, ohne Fehler auszulösen, wenn keine Trennzeichen vorhanden sind.
Versuchen Sie es mit diesem:
=ISNUMBER(SEARCH("Some Text", A3))
Dies gibt TRUE
zurück, wenn die Zelle A3
Some Text
enthält.
Die folgende Formel bestimmt, ob der Text "CHECK" in Zelle C10 angezeigt wird. Wenn dies nicht der Fall ist, ist das Ergebnis leer. Wenn ja, ist das Ergebnis die Arbeit "PRÜFEN".
=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
Für diejenigen, die dies mit einer einzigen Funktion in der IF-Anweisung tun möchten, verwende ich
=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)
um zu sehen, ob sich der Teiltext TEXT in Zelle A1 befindet
[HINWEIS: TEXT muss Sternchen haben]
Diese Formel erscheint mir intuitiver:
=SUBSTITUTE(A1,"SomeText","") <> A1
dies gibt TRUE zurück, wenn "SomeText" in A1 enthalten ist.
Die Formeln IsNumber/Search und IsError/Find, die in den anderen Antworten erwähnt wurden, funktionieren zwar, aber ich muss mir immer die Hilfe ansehen oder zu oft in Excel experimentieren.
Überprüfen Sie die FIND()
-Funktion in Excel.
Syntax:
FIND( substring, string, [start_position])
Gibt #VALUE!
zurück, wenn der Teilstring nicht gefunden wird.
Ich mag die Antwort von Rink.Attendant.6. Ich möchte eigentlich nach mehreren Strings suchen und habe es so gemacht:
Zuerst die Situation: Namen, die aus Bauträgern oder Community-Namen bestehen können, und ich muss die Builder als eine Gruppe zusammenfassen. Dafür suche ich nach dem Wort "Erbauer" oder "Konstruktion" usw. So -
=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")
Dies ist eine alte Frage, aber eine Lösung für Benutzer, die Excel 2016 oder neuer verwenden, besteht darin, die Notwendigkeit für geschachtelte Strukturen zu beseitigen, indem die neue Bedingung IFS( condition1, return1 [,condition2, return2] ...)
verwendet wird.
Ich habe es formatiert, um es visuell klarer zu machen, wie es für den Fall dieser Frage verwendet werden kann:
=IFS(
ISERROR(SEARCH("String1",A1))=FALSE,"Something1",
ISERROR(SEARCH("String2",A1))=FALSE,"Something2",
ISERROR(SEARCH("String3",A1))=FALSE,"Something3"
)
Da SEARCH
einen Fehler zurückgibt, wenn eine Zeichenfolge nicht gefunden wurde, habe ich sie mit einer ISERROR(...)=FALSE
umschlossen, um die Wahrheit zu prüfen und den gewünschten Wert zurückzugeben. Es wäre großartig, wenn SEARCH
zur besseren Lesbarkeit 0 anstelle eines Fehlers zurückgegeben hätte, aber so funktioniert es leider.
Ein weiterer wichtiger Hinweis ist, dass IFS
die zuerst gefundene Übereinstimmung zurückgibt und daher die Reihenfolge wichtig ist. Wenn zum Beispiel meine Zeichenfolgen Surf, Surfing, Surfs
als String1,String2,String3
oben waren und meine Zellenzeichenfolge Surfing
, würde sie auf den ersten Begriff statt auf den zweiten Begriff passen, da der Teilstring Surf
ist. Daher müssen gemeinsame Nenner der letzte Platz in der Liste sein. Meine IFS
müsste Surfing, Surfs, Surf
bestellt werden, um korrekt zu funktionieren (das Austauschen von Surfing
und Surfs
würde auch in diesem einfachen Beispiel funktionieren), aber Surf
muss der letzte sein.