4

Я обратил внимание, что команды "И" и "ИЛИ" не всегда дают правильный ответ.

1) Формула "И" =if(And(B2,C2>3), "Yes", "No")

 input Cell B2=4 and Cell C2=3, yield answer "No"

Переверните входную ячейку B2 = 3 и ячейку C2 = 4, дайте ответ "Да"

2) Формула "или" =if(Or(B2,C2>3), "yes","No")

 Input Cell B2=0 and Cell C2=3, yield "No"

Переверните входную ячейку B2 = 3, ячейка B2 = 0, выведите "Да"

Надеюсь, что кто-то может пролить свет на это.

2 ответа2

24

Вы не используете это правильно.

=if(And(B2,C2>3), "Yes", "No")

должно быть

=if(And(B2>3,C2>3), "Yes", "No")

Вам нужно условие для каждого аргумента AND, а не список ячеек, чтобы проверить одно условие.

То же самое для ИЛИ

=if(Or(B2>3,C2>3), "yes","No")

Это позволяет вам тестировать различные условия для каждого аргумента, который является спроектированным поведением.

В настоящее время он будет смотреть на ваш первый аргумент и решать, думает ли он, что это правда или ложь, основываясь исключительно на том, что он находит в этой ячейке, что будет иметь странное поведение в зависимости от того, что Excel считает соответствующим ответом (например, 0 = ложь, 1 = верно).

5

Санкт-Лим,

Ваши формулы работают как надо.

И: =if(And(B2,C2>3), "Yes", "No")

При входной ячейке B2 = 4 и ячейке C2 = 3 ответ "Нет" является правильным. B2 оценивается как True. C2 не больше 3, так что оценивается как False. Правда и Ложь = Ложь.

При входной ячейке B2 = 1 и ячейке C2 = 5 ответ "Да" правильный. B2 оценивается как True. C2 больше 3, так что оценивается как True.
Правда и правда = правда

ИЛИ: =if(Or(B2,C2>3), "yes","No")

Если входная ячейка B2 = 3 и ячейка C2 = 4, ответ должен быть "Да". Любые ненулевые числовые значения в B2 будут иметь значение True. 4 больше 3, поэтому C2> 3 также оценивается как True.
Истина или Истина = Истина.

При входной ячейке B2 = 0 и ячейке C2 = 4 ответ также должен быть "Да"
B2 = 0 - ложь, 4 больше 3. Ложь или Истина = Истина.

При входной ячейке B2 = 0 и ячейке C2 = 1 ответ должен быть "Нет"
B2 = 0 - Ложь, 1 - НЕ больше 3. Ложь или Ложь = Ложь.

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