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


124

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

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

Ответы:



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но компоненты легко регулируются.


@KaiNoack вам нужно заменить ;на ,в таблице Google
Майкл

@pnuts отличный ответ!
Майкл

2

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

=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")

-8

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


2
Это не работает. Пробовал: = if (N7 = "N *", 0,1) для значения ячейки "НЕТ, спасибо", и он возвращает "1"
Клей Николс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.