Ответ 1
Вы можете использовать RegExMatch
:
=IF(RegExMatch(A1,"Bla"),"YES","NO")
В электронной таблице Google я хочу использовать формулу, которая выводит определенный текст или номер, если определенная ячейка содержит определенные буквы.
Например, если я помещаю =IF(A1="Black","YES","NO")
, а A1 равен "Black" - он правильно выводит "YES". Однако, когда я помещаю =IF(A1="Bla","YES","NO")
, он выводит "НЕТ". Есть ли какая-нибудь формула, которую я могу использовать, я могу сказать что-то вроде =IF(A1 CONTAINS "Bla","YES","NO")
, чтобы она выводила "YES".
Вы можете использовать RegExMatch
:
=IF(RegExMatch(A1,"Bla"),"YES","NO")
Некоторые параметры без REGEXMATCH
, так как вы можете захотеть быть insenstive и не хотите сказать blast
или ablative
, чтобы вызвать YES
. Использование запятой в качестве разделителя, как и в OP, и в данный момент игнорируя условие IF:
Сначала очень похоже на @user1598086 ответ:
=FIND("bla",A1)
Чувствителен к регистру, но возвращает значение #VALUE! а не NO
и число, а не YES
(оба из них, однако, могут быть изменены на 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
, но компоненты легко настраиваются.
Просто используйте = IF(A1="Bla*","YES","NO")
. Когда вы вставляете звездочку, она действует как дикая карта для любого количества символов после указанного текста.