Есть ли встроенная функция для проверки, содержит ли ячейка заданный символ/подстроку?
Это означало бы, что вы можете применять текстовые функции типа Left
/Right
/Mid
на условной основе, не выдавая ошибок при отсутствии разделительных символов.
Попробуйте использовать это:
=ISNUMBER(SEARCH("Some Text", A3))
Это вернет TRUE
, если ячейка A3
содержит Некоторый текст
.
Следующая формула определяет, появляется ли текст "CHECK" в ячейке C10. Если нет, то результатом будет пустое место. Если появляется, то результатом будет произведение "CHECK".
=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
Для тех, кто хотел бы сделать это с помощью одной функции внутри оператора if, я использую
=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)
чтобы увидеть, если подстрока текста в ячейке A1
[Примечание: текст должен быть звездочки вокруг него]
Эта формула мне кажется более интуитивным:
=SUBSTITUTE(A1,"SomeText","") <> A1
это возвращает true, если на "SomeText", которая содержится в А1.
Функция isnumber/поисковая функция iserror/найти формулы упоминалось в других ответов, конечно, работают, но я всегда оказываюсь необходимости смотреть на помощь или слишком часто экспериментировать в Excel с теми, что были.
Проверьте функцию FIND()
в Excel.
Синтаксис:
FIND( substring, string, [start_position])
Возвращает #VALUE!
, если не находит подстроку.
Мне нравится каток.Помощника.6 ответа. Я хочу посмотреть на несколько строк и сделал это так:
Первая ситуация: имена, которые могут быть строители или названия сообщества и мне нужно ведро строители как одна группа. Для этого я ищу слова, что "Строитель" или "строительства" и т. д. Так
=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")
Это старый вопрос, но решение для тех, кто с помощью 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), 0 )