2016-05-19 2 views
0

Есть 2 ячейки.Excel: Возвращаемое значение, если ячейка содержит определенный текст

Одна содержится строка

"AA BB CC DD"

И второй один

"AABBCCCDD"

Я хочу, чтобы сделать формулу, которые возвращают значение "истина", когда клетки содержит «BB». Если я использую формулы поиска или поиска, он возвращает true для всех из них. Тем не менее, есть еще одно условие. Я хочу использовать это:

= IF (IS.NUMBER (SEARCH ("BB" .....

Поиск состоит из 2 основных параметра -> что и где я хочу добавить 2 значения. в "что" что-то вроде:.

Если ячейка содержит "BB" или "Bebe", а затем ...

Я надеюсь, что это ясно

Благодарности

+1

вы пробовали 'AND():' '= AND (ISNUMBER (SEARCH (...)), ISNUMBER (SEARCH (...))) '? – Taosique

+1

Я собирался предложить '= IF (OR (SEARCH (« bb », A1), SEARCH (« bebe », A1)),« Да »,« Нет »)', но он дает ошибку «# Value» когда 'bb' или' bebe' не найден. Поэтому вы могли бы это объяснить и использовать 'IfError()' возможно. – BruceWayne

ответ

1

Заверните его в SUMPRODUCT. :

=SUMPRODUCT(1*(ISNUMBER(SEARCH({" BB ","BeBe"},A1))))>0 

ПОИСК() не чувствительны к регистру, так что будет возвращать верно для «BEBE» Если вы хотите случай чувствительную использовать FIND:

=SUMPRODUCT(1*(ISNUMBER(FIND({" BB ","BeBe"},A1))))>0 

enter image description here

+0

Почему эта формула не выдает ошибок, когда одно из условий не найдено? В моем комментарии выше, используя 'Or()' с двумя поисковыми запросами, возвращается '# VALUE', если он не найден. – BruceWayne

+0

@ ISNUMBER() делает это, если он выдает ошибку, он не является числом и поэтому является FALSE, который при умножении на 1 возвращает 0. –

+0

@ MartinJanáč Если бы это был я, я использовал бы другой ответ, и работает так же хорошо. –

3

Вы можете найти несколько строк по передавая массив строк {} и обертывание в AND():

=AND(ISNUMBER(SEARCH({"AA","BB"},A1))) 

В качестве альтернативы, вы можете обернуть его в OR(), если вам нужно, по крайней мере один матч, не все из них:

=OR(ISNUMBER(SEARCH({"AA","BB"},A1))) 
+0

Это лучше, чем у меня, меньше набрав. Я бы пошел с этим. Отличная работа. –

+2

Спасибо! Спортивное! ; D – Taosique

+1

Я не знал, что он будет правильно перебирать массив, и я сначала попробовал И И сначала по своим данным, и получил то, что, как я думал, должен, тогда я посмотрел дальше и понял, что вы на 100% правильны, и поэтому я чему-то научился. Хотелось бы, чтобы я мог дать более 1 upvote, только для того, чтобы заставить меня чему-то научиться. –

Смежные вопросы