Создание массива с помощью Indirect () - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь сопоставить адрес электронной почты со списком на другом листе.Вот формула:

=IF(MATCH(B11,INDIRECT("'"&$D$1&"'!$a$1:$a$1000",1),0)=1,"No","Yes")

Моя проблема в том, что Indirect смотрит только на первое значение A1, а не на остальную часть столбца.

У вас есть идеи?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

MATCH возвращает индекс первого совпадения в виде целого числа.Ваше IF() условие будет всегда верным, только если значение соответствует A1.

Попробуйте что-то вроде этого:

=IF(ISNUMBER(MATCH(B2,INDIRECT("'"&$D$1&"'!$A$1:$A$1000",1),0)),"Yes","No")
0 голосов
/ 28 сентября 2018

Это потому, что вы только проверяете, возвращает ли MATCH 1, т. Е. Находится ли он на первой позиции.Но то, что вы на самом деле хотите проверить, это не если MATCH(...)=1, а если #N/A или нет, поэтому ISNA имеет больше смысла.

Попробуйте вместо этого:

=IF(ISNA(MATCH(B11,INDIRECT("'"&$D$1&"'!$A:$A"),0)),"Yes","No")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...