Я пытаюсь использовать функцию IF, чтобы вернуть "1", если TRUE, и "0", если FALSE.
Мне нужна ячейка A1 или B1 и C1> 0, чтобы оператор был TRUE (возвращать 1
), иначе FALSE (возвращать 0
).
Я не могу написать функцию правильно.
Я пытаюсь использовать функцию IF, чтобы вернуть "1", если TRUE, и "0", если FALSE.
Мне нужна ячейка A1 или B1 и C1> 0, чтобы оператор был TRUE (возвращать 1
), иначе FALSE (возвращать 0
).
Я не могу написать функцию правильно.
Одним из способов является сложное использование and() и или () внутри оператора IF.
=IF(AND(OR(A1>0,B1>0),C1>0),1,0)
Or () сначала оценивается, затем и () вместе с результатом, и результат этого становится основой для condition
условия оператора if ().
Я только отключаю вашу заглавную букву от ваших "или" и "И" здесь, предполагая, что вы имеете в виду:
(A1> 0 или B1> 0) и C1> 0
=IF(AND(OR(A1>0,B1>0),C1>0),1,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.