Проверьте, содержит ли ячейка подстроку

Есть ли встроенная функция для проверки, содержит ли ячейка заданный символ/подстроку?

Это означало бы, что вы можете применять текстовые функции типа Left/Right/Mid на условной основе, не выдавая ошибок при отсутствии разделительных символов.

Решение

Попробуйте использовать это:

=ISNUMBER(SEARCH("Some Text", A3))

Это вернет TRUE, если ячейка A3 содержит Некоторый текст.

Комментарии (10)

Следующая формула определяет, появляется ли текст "CHECK" в ячейке C10. Если нет, то результатом будет пустое место. Если появляется, то результатом будет произведение "CHECK".

=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
Комментарии (2)

Для тех, кто хотел бы сделать это с помощью одной функции внутри оператора if, я использую

=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)

чтобы увидеть, если подстрока текста в ячейке A1

[Примечание: текст должен быть звездочки вокруг него]

Комментарии (1)

Эта формула мне кажется более интуитивным:

=SUBSTITUTE(A1,"SomeText","")  A1

это возвращает true, если на "SomeText", которая содержится в А1.

Функция isnumber/поисковая функция iserror/найти формулы упоминалось в других ответов, конечно, работают, но я всегда оказываюсь необходимости смотреть на помощь или слишком часто экспериментировать в Excel с теми, что были.

Комментарии (0)

Проверьте функцию FIND() в Excel.

Синтаксис:

FIND( substring, string, [start_position])

Возвращает #VALUE!, если не находит подстроку.

Комментарии (1)

Мне нравится каток.Помощника.6 ответа. Я хочу посмотреть на несколько строк и сделал это так:

Первая ситуация: имена, которые могут быть строители или названия сообщества и мне нужно ведро строители как одна группа. Для этого я ищу слова, что "Строитель" или "строительства" и т. д. Так

=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")
Комментарии (2)

Это старый вопрос, но решение для тех, кто с помощью Excel 2016 или более поздней версии вы можете устранить необходимость для вложенных конструкций если с помощью "если" ( условие1, return1 [,условие2, return2] ...)` условное.

Я отформатировал его, чтобы сделать его визуально более четким о том, как использовать его в случае на этот вопрос:

=IFS(
ISERROR(SEARCH("String1",A1))=FALSE,"Something1",
ISERROR(SEARCH("String2",A1))=FALSE,"Something2",
ISERROR(SEARCH("String3",A1))=FALSE,"Something3"
)

Поскольку "поиск" возвращает ошибку, если строка не найдена, я завернул его с ЕОШИБКА(...)=false` для проверки на правду, а потом вернуть хотел. Было бы здорово, если бы "поиск" возвращается 0 вместо ошибки для читабельности, но вот только как это работает, к сожалению.

Еще одно замечание важное это то, что "если" будет возвращать совпадение первой и таким образом заказ-это важно. Например, если мои строки были серфинга, серфинг, серфингисткакСтрока1,Строка2,String3выше и мои строки клетоксерфингэто будет матч первого срока, а не второго, потому что подстроки бытьПрибой. Таким образом, общие знаменатели должны быть последними в списке. Мое "Если" должны быть заказаны для серфинга, серфинга, серфинга для правильной работы (замена серфинг и путешествует также будет работать в этом простом примере), но Прибой должен быть последним.

Комментарии (1)

Вот формула Я'м через

=Если( ЕЧИСЛО(найти(" по." - А,А1)), лен(А1) - найти (фильм"." - А,А1), 0 )

Комментарии (2)