Заранее извиняюсь, если мое объяснение запутанное, хаха.
У меня есть две ячейки (D2 и D4), которые я хочу сложить, но есть два условия, основанные на двух других ячейках (B2 и B4): «если B2 меньше 1, то значение в D4 не включается».
«Если B4 больше 75, то значение в D2 не включается». В этом случае, если B2 меньше 1, а B4 больше 75, результат должен быть равен 0.
Я попробовал использовать функции ЕСЛИ для решения этой задачи (на рисунке они находятся в ячейках F2 и F4):
=IF(B2<1;D2;D2+D4)
=IF(B4>75;D4;D2+D4)
Но мне нужно объединить их в одну ячейку. Я думал, что это сработает, если я использую =IF(B2<1;D2;IF(B4>75;D4;D2+D4))
, но вместо того, чтобы получить 0, если B2<1 и B4<75, он проигнорировал второе условие и дал мне «истинное» значение первого (D2).
Есть ли способ заставить это работать, может быть, переставив формулу ЕСЛИ по-другому или, может быть, даже используя другую формулу или процедуру?
решение1
Это можно сделать вообще без операторов IF:
= (B4<=75)*D2 + (B2>=1)*D4
При этом используется тот факт, что логические тесты рассматриваются как 1
истинные и 0
ложные.
Итак, вы хотите включить D2, только если B4 <= 75. Выражение в первых скобках проверяет это. Если это правда, вы получаете 1 x D2
. Если ложь, вы получаете 0 x D2
.
Та же логика применима к D4. Затем вы добавляете все имеющиеся там значения.
решение2
Используйте следующую формулу:
=ЕСЛИ(B2<1;ЕСЛИ(B4<=75;D2;0);ЕСЛИ(B4<=75;D2+D4;D4))
в вашей формуле вы не проверили когда B2 < 1 если B4 > 75
решение3
Мне немного трудно понять, что вы пытаетесь сделать, но из того, что я могу сделать, вы хотите использовать либо функцию AND, либо функцию OR внутри вашего if. Это два основных способа объединения двух разных условий.
И:https://support.office.com/en-us/article/AND-function-5f19b2e8-e1df-4408-897a-ce285a19e9d9