У меня есть три заявления:

=IF(ISNUMBER(SEARCH($ET$2,B2)),B2,CONCATENATE("NA ",B2))

Но я хочу сделать

=IF(ISNUMBER(SEARCH($ET$2 **OR** $ET$3 **OR** $ET$4, B2,CONCATENATE("NA ",B2))

Как это можно сделать в Excel?

или я мог бы вместо этого вложить эти два (которые я пробовал, но не повезло)

=IF(ISNUMBER(SEARCH($ET$2,B2)),B2,CONCATENATE("NA ",B2))
and
=IF(ISNUMBER(SEARCH($ET$2,B2)),B2,CONCATENATE("NA ",B3))

3 ответа3

1

Чтобы сократить формулу, вы можете использовать эту версию

=IF(SUMPRODUCT(ISNUMBER(SEARCH($ET$2:$ET$4,B2))+0),"","NA ")&B2

.... или даже короче, используя COUNT, но он должен быть "введен в массив"

=IF(COUNT(SEARCH($ET$2:$ET$4,B2)),"","NA ")&B2

0

Ваш вопрос не очень понятен, но он включает условие or в операторе if :

=IF(OR(ISNUMBER(SEARCH($ET$2,B2)), ISNUMBER(SEARCH($ET$3,B2)), ISNUMBER(SEARCH($ET$4,B2))),B2,CONCATENATE("NA ",B2))

примечание: в Excel2003 я не уверен, что OR может принимать более 2 аргументов, и в этом случае вы можете сделать OR(OR(x,y),z)

0

Не очень читабельно, но:

=IF(OR(ISNUMBER(...), ISNUMBER(...),ISNUMBER(...)), B2,CONCATENATE("NA ",B2))

должен сделать это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .