Я пытаюсь использовать функцию IF, чтобы вернуть "1", если TRUE, и "0", если FALSE.

Мне нужна ячейка A1 или B1 и C1> 0, чтобы оператор был TRUE (возвращать 1), иначе FALSE (возвращать 0).

Я не могу написать функцию правильно.

3 ответа3

1

Одним из способов является сложное использование and() и или () внутри оператора IF.

=IF(AND(OR(A1>0,B1>0),C1>0),1,0)

Or () сначала оценивается, затем и () вместе с результатом, и результат этого становится основой для condition условия оператора if ().

1

Я только отключаю вашу заглавную букву от ваших "или" и "И" здесь, предполагая, что вы имеете в виду:

(A1> 0 или B1> 0) и C1> 0

=IF(AND(OR(A1>0,B1>0),C1>0),1,0)
0

Ваш вопрос

Ваш вопрос является особым случаем, потому что вы хотите получить 1 или 0 . Вам на самом деле не нужно заявление IF, чтобы сделать это; Excel обрабатывает значения true и false как 1 и 0 . Вам даже не нужно И или ИЛИ. Это называется булевой логикой.

Я начну с решения, которое разместили Тайсон и Панхандель (обратите внимание на комментарии EBGreen и TECHIE007 о порядке операций и скорректирую формулу, если ваше намерение было другим).

Если вы удалите функцию IF, вы получите:

=AND(OR(A1>0,B1>0),C1>0)

Если вы используете это в расчете, он будет рассматриваться как 1 если истина или 0 если ложь В этой форме он будет отображаться в ячейке как ИСТИНА или ЛОЖЬ. Если вы хотите, чтобы он отображался как 1 или 0 , просто используйте его в расчете, который не меняет своего значения:

=AND(OR(A1>0,B1>0),C1>0)+0

Просто для интереса

Так как вы устраняете И и ИЛИ? Каждое сравнение компонентов является истинным или ложным, поэтому вы можете воспользоваться преимуществами базовой математики, используя нули и единицы. Если две вещи должны быть истинными (случай AND), используйте:

1 * 1 = 1  (both true)
1 * 0 = 0  (one true, one false)
0 * 0 = 0  (both false)

Любая комбинация, кроме двух, приведет к 0.

Ситуация ИЛИ может быть выражена в обратном порядке.

A=true OR B=true 

такой же как

NOT( A=false AND B=false ) 

Таким образом, вы можете выразить ИЛИ как И. Вы создаете НЕ, используя 1 - result .

Итак, ваше выражение может быть в форме:

=(1-(A1<=0)*(B1<=0))*(C1>0)

Нет IF, AND или OR.

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