Проверьте ячейку на наличие определенной буквы или набора букв

124

В электронной таблице Google я хочу использовать формулу, которая будет выводить определенный текст или число, если определенная ячейка содержит определенные буквы.

Например, если я поставил =IF(A1="Black";"YES";"NO")и A1 равно «Black» - он правильно выведет «YES». Однако когда я помещаю =IF(A1="Bla";"YES";"NO")его, выводится «НЕТ». Есть ли какая-нибудь формула, которую я могу использовать, чтобы сказать что-то вроде, =IF(A1 CONTAINS "Bla";"YES";"NO")чтобы она выводила «ДА».

user1799724
источник

Ответы:

161

Вы можете использовать RegExMatch:

=IF(RegExMatch(A1;"Bla");"YES";"NO")
flyingjamus
источник
74

Некоторые параметры без него REGEXMATCH, так как вы можете не учитывать регистр и не хотите говорить blastили ablativeзапускать YES. Использование запятой в качестве разделителя, как в OP, и на данный момент игнорирование условия IF:

Сначала очень похоже на ответ @ user1598086:

=FIND("bla",A1)

Учитывает регистр, но возвращает #VALUE! а не NOи число вместо YES(однако оба значения можно изменить на НЕТ / ДА соответственно).

=SEARCH("bla",A1)  

Регистр нечувствителен, поэтому лечит Blackи blackодинаково. Возвращает, как указано выше.

Первый (для последнего эквивалента), чтобы указать, blaприсутствует ли после первых трех символов в A1:

=FIND("bla",A1,4)  

Возвращает число, blazer, blackно #VALUE!для blazer, blue.

Чтобы найти Blaтолько полное слово само по себе (то есть между пробелами, а не в начале или в конце «предложения»):

=SEARCH(" Bla ",A1) 

Поскольку возврат во всех приведенных выше случаях является либо числом («найдено», что YESпредпочтительно), либо #VALUE!мы можем использовать ISERROR для проверки #VALUE!в формуле IF, например, взяв первый пример выше:

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

Длиннее, чем у, regexmatchно компоненты легко регулируются.

pnuts
источник
@KaiNoack вам нужно заменить ;на ,в таблице Google
Майкл
@pnuts отличный ответ!
Майкл
2

Вы можете использовать следующую формулу,

=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")
imbond
источник
-8

Просто используйте = IF(A1="Bla*","YES","NO"). Когда вы вставляете звездочку, она действует как подстановочный знак для любого количества символов после указанного текста.

Тайлер Депис-Бобровиц
источник
2
Это не работает. Пробовал: = if (N7 = "N *", 0,1) для значения ячейки "НЕТ, спасибо", и он возвращает "1"
Клей Николс