Как упростить оператор Excel IF / OR - PullRequest
0 голосов
/ 10 августа 2011

Как я могу упростить это с помощью VLOOKUP или LOOKUP?

IF(OR(A1=1,A1=2,A1=3,A1=4,A1=5,A1=6,A1=7),"Yes","No")

Есть ли способ сделать его более надежным, используя VLOOKUP или любую другую функцию Excel, чтобы избежать этого или условий?

Ответы [ 4 ]

1 голос
/ 10 августа 2011

По сути, условие ИЛИ такое же, как А1 <8, поэтому просто сделайте это и избавьтесь от ИЛИ. </p>

=IF(A1<8,"Yes","No")

в этом примере у меня есть список на листе 2 в столбце A, который содержит все значения. На листе 1 в ячейке A1 я вписываю номер теста, и вы можете поместить эту формулу в любую ячейку, которую хотите

=IF(LOOKUP(A1,Sheet2!A:A,Sheet2!A:A)=A1,"Yes","No")

0 голосов
/ 12 августа 2011

Если я правильно понимаю, у вас есть значение в ячейке, скажем, A1, и множество других значений в ячейках B1: B8, и вы хотите узнать, соответствует ли A1 какому-либо значению, присутствующему в B1: B8.

Вы можете установить переменную флага, принимая значение 1, если совпадение найдено, и 0, если не так: = 1-ISNA (MATCH (A1, B1: B8,0))

В качестве альтернативы, вы можете сделать что-то вроде: = IF (ISNA (MATCH (A1, B1: B8,0)), «Нет», «Да»), чтобы вывести что-то более похожее на приведенное выше.

0 голосов
/ 10 августа 2011

Это то же самое:

=IF(AND(A1>0,A1<8,INT(A1)=A1),"Yes","No")
0 голосов
/ 10 августа 2011

Чуть лучше:

=IF(ISERROR(FIND("|"&A1&"|", "|1|2|3|4|5|6|7|")), "No", "Yes")

Предполагается, что никто никогда не ставит "|"в A1

...