Überprüfen Sie die Zelle auf einen bestimmten Buchstaben oder eine Reihe von Buchstaben

124

In einer Google-Tabelle möchte ich eine Formel verwenden, die einen bestimmten Text oder eine bestimmte Zahl ausgibt, wenn eine bestimmte Zelle bestimmte Buchstaben enthält.

Wenn ich zum Beispiel setze =IF(A1="Black";"YES";"NO")und A1 gleich "Schwarz" ist, wird "JA" korrekt ausgegeben. Wenn ich es jedoch setze =IF(A1="Bla";"YES";"NO"), wird "NEIN" ausgegeben. Gibt es eine Formel, die ich verwenden kann, um so etwas zu sagen, =IF(A1 CONTAINS "Bla";"YES";"NO")dass "JA" ausgegeben wird?

user1799724
quelle

Antworten:

161

Sie können verwenden RegExMatch:

=IF(RegExMatch(A1;"Bla");"YES";"NO")
Flyingjamus
quelle
74

Einige Optionen ohne REGEXMATCH, da Sie möglicherweise die Groß- und Kleinschreibung nicht berücksichtigen und nicht sagen blastoder ablativeauslösen möchten YES. Verwenden Sie Komma als Trennzeichen, wie im OP, und ignorieren Sie im Moment die IF-Bedingung:

Erste sehr ähnliche Antwort von @ user1598086:

=FIND("bla",A1)

Bei Groß- und Kleinschreibung wird jedoch #VALUE zurückgegeben! eher als NOund eine Zahl als YES(beide können jedoch jeweils in NEIN / JA geändert werden).

=SEARCH("bla",A1)  

Groß- und Kleinschreibung nicht berücksichtigen, so behandelt Blackund blackgleich. Rückgabe wie oben.

Der erstere (für letztere äquivalent) , um anzuzeigen , ob blavorliegende nachdem die ersten drei Zeichen in A1:

=FIND("bla",A1,4)  

Gibt eine Zahl für blazer, blackbut #VALUE!for zurück blazer, blue.

BlaNur zu finden , wenn ein vollständiges Wort für sich allein ist (dh zwischen Leerzeichen - nicht am Anfang oder Ende eines 'Satzes'):

=SEARCH(" Bla ",A1) 

Da die Rückgabe in allen oben genannten Fällen entweder eine Zahl ist ("gefunden", also YESbevorzugt) oder #VALUE!wir ISERROR verwenden können, um #VALUE!innerhalb einer IF-Formel zu testen , beispielsweise anhand des ersten obigen Beispiels:

 =if(iserror(FIND("bla",A1)),"NO","YES")  

Länger als die, regexmatchaber die Komponenten sind leicht einstellbar.

pnuts
quelle
@ KaiNoack müssen Sie ;durch ,in Google Spreadsheet ersetzen
Michael
@pnuts tolle Antwort!
Michael
2

Sie können die folgende Formel verwenden:

=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")
imbond
quelle
-8

Verwenden Sie einfach = IF(A1="Bla*","YES","NO"). Wenn Sie das Sternchen einfügen, fungiert es als Platzhalter für eine beliebige Anzahl von Zeichen nach dem angegebenen Text.

Tyler Depies-Bobrowitz
quelle
2
Das funktioniert nicht. Versucht: = if (N7 = "N *", 0,1) auf einem Zellenwert von "NO Thanks" und es gibt "1" zurück
Clay Nichols