Sprawdź komórkę pod kątem określonej litery lub zestawu liter

124

W arkuszu kalkulacyjnym Google chcę użyć formuły, która wyświetli określony tekst lub liczbę, jeśli dana komórka zawiera określone litery.

Na przykład, jeśli wstawię, =IF(A1="Black";"YES";"NO")a A1 jest równe „Czarny” - poprawnie wypisze „TAK”. Jednak kiedy umieściłem =IF(A1="Bla";"YES";"NO")to wyprowadza "NIE". Czy jest jakaś formuła, której mogę użyć, a którą mogę powiedzieć, =IF(A1 CONTAINS "Bla";"YES";"NO")więc wyświetla "TAK".

user1799724
źródło

Odpowiedzi:

161

Możesz użyć RegExMatch:

=IF(RegExMatch(A1;"Bla");"YES";"NO")
flyingjamus
źródło
74

Niektóre opcje nie są dostępne REGEXMATCH, ponieważ możesz chcieć nie rozróżniać wielkości liter i nie chcieć mówić blastani ablativeuruchamiać pliku YES. Używając przecinka jako separatora, jak w PO, i chwilowo ignorując warunek IF:

Pierwsza bardzo podobna do odpowiedzi @ user1598086:

=FIND("bla",A1)

Uwzględnia wielkość liter, ale zwraca #ARG! raczej niż NOi liczba zamiast YES(z których oba można jednak odpowiednio zmienić na NIE / TAK).

=SEARCH("bla",A1)  

Niewrażliwa na wielkość liter, więc traktuje Blacki blackjednakowo. Zwraca jak wyżej.

Pierwszy (dla drugiego odpowiednika), aby wskazać, czy blawystępuje po pierwszych trzech znakach w A1:

=FIND("bla",A1,4)  

Zwraca liczbę dla blazer, blackale #VALUE!dla blazer, blue.

Aby znaleźć Blatylko wtedy, gdy całe słowo samo w sobie (tj. Między spacjami - nie na początku ani na końcu „zdania”):

=SEARCH(" Bla ",A1) 

Ponieważ we wszystkich powyższych przypadkach zwrotem jest albo liczba („znaleziona”, więc YESpreferowana), albo #VALUE!możemy użyć funkcji CZY.BŁĄD do sprawdzenia #VALUE!w formule JEŻELI, na przykład biorąc pierwszy przykład powyżej:

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

Dłuższy niż, regexmatchale komponenty są łatwo regulowane.

orzechy
źródło
@KaiNoack trzeba zastąpić ;przez ,Google kalkulacyjnym
Michael
@pnuts świetna odpowiedź!
Michael
2

Możesz użyć następującego wzoru,

=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")
imbond
źródło
-8

Po prostu użyj = IF(A1="Bla*","YES","NO"). Gdy wstawisz gwiazdkę, zachowuje się ona jak symbol wieloznaczny dla dowolnej liczby znaków po określonym tekście.

Tyler Depies-Bobrowitz
źródło
2
To nie działa. Próbowano: = if (N7 = "N *", 0,1) dla wartości komórki „NIE, dziękuję” i zwraca „1”
Clay Nichols