1

Я заранее прошу прощения, если мое объяснение сбивает с толку ха-ха

У меня есть две ячейки (D2 и D4), которые я хочу добавить, но есть два условия, основанные на двух других ячейках (B2 и B4): «если B2 меньше 1, значение в D4 не включается».
«Если B4 больше 75, значение в D2 не включено». В этом случае, если B2 меньше 1 и B4 больше 75, результат должен быть 0.

pic1

Я попытался использовать функции IF для решения этой проблемы (они в ячейках 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).

pic2

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

3 ответа3

2

Вы можете сделать это без всяких утверждений IF:

= (B4<=75)*D2 + (B2>=1)*D4

При этом используется тот факт, что логические тесты обрабатываются как 1 если истина, и 0 если ложь.

Таким образом, вы хотите включить D2, только если B4 <= 75. Выражение в первых скобках проверяет это. Если это правда, вы получаете 1 x D2 . Если false, вы получите 0 x D2 .

Такая же логика применима к D4. Затем вы добавляете любые значения.

1

Используйте следующую формулу:
= ЕСЛИ (В2 <1; ЕСЛИ (B4 <= 75; D2; 0); ЕСЛИ (B4 <= 75; D2+D4; D4))
в вашей формуле вы не проверяли, когда B2 <1, если B4> 75

0

Я испытываю некоторые трудности с отслеживанием того, что вы пытаетесь сделать, но из того, что я могу извлечь, вы либо захотите использовать функцию И, либо функцию ИЛИ внутри своего if. Это два основных способа объединения двух разных условных выражений.

И: https://support.office.com/en-us/article/AND-function-5f19b2e8-e1df-4408-897a-ce285a19e9d9

ИЛИ: https://exceljet.net/excel-functions/excel-or-function

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