Тест логики Excel с учетом нескольких значений столбца - PullRequest
0 голосов
/ 05 мая 2019

У меня есть файли ответ будет not found, или я введу значение 11, а ответ будет found.Я попробовал это:

IF(C1=B2:B6,"FOUND","NOT FOUND")

Но не работает.Возможно ли это в Excel?

Ответы [ 3 ]

2 голосов
/ 05 мая 2019

Например, используйте:

=IF(ISNUMBER(MATCH(D2,$B$2:$B$6,0)),"FOUND","NOT FOUND")

Или, если штрих-коды уникальны:

=CHOOSE(COUNTIF($B$2:$B$6,D2)+1,"NOT FOUND","FOUND")

enter image description here

Если для возврата достаточно TRUE или FALSE, просто используйте:

=COUNTIF($B$2:$B$6,D2)>0

Если вашей целью является получение идентификатора при обнаружении штрих-кода, тогда @SolarMike его предложение с помощью INDEX() и MATCH() - это путь для уверенности.

2 голосов
/ 05 мая 2019

Вы очень близки.Просто пропустите OR и введите его как формулу массива.

Ваш логический тест возвращает массив сравнений:

C1: 14 ==>
{FALSE;FALSE;TRUE;FALSE;FALSE}

Но для определения, ANY из возвращаемых значений: TRUE, вам нужна функция OR:

OR(C1=$B$2:$B$6)

Собрав все вместе, мы получим формулу ARRAY :

=IF(OR(C1=$B$2:$B$6),"Found","Not Found")

Поскольку это формула массива, вам необходимо «подтвердить» ее, удерживая нажатой ctrl + shift при нажатии , введите .Если вы сделаете это правильно, Excel поместит фигурные скобки {...} вокруг формулы, как показано в строке формул

enter image description here

2 голосов
/ 05 мая 2019

Итак, используйте iferror () с index () и match (). Введите искомое значение в ячейку C1, и ячейка C4 вернет либо не найденный, либо идентификационный номер.

=IFERROR(INDEX($A$2:$A$6,MATCH(C1,$B$2:$B$6,0)),"Not Found")

См

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...