У меня есть формула Excel IF, которая работает неправильно, и я не могу понять, почему.

Вот формула:

=IF(D17<=200%, C17*130%, IF(D17<=150%, C17*120%, C17*140%))
  • Когда D17> 200%, это правильно умножает C17 на 140%.

  • Когда D17 <= 200%, это правильно умножает C17 на 130%

  • Но когда D17 <= 150%, он НЕ умножает C17 на 120%. Вместо этого он умножается на 130%

Это почему?

2 ответа2

3
=IF( D17<=200%,
 'THEN
    C17*130%,
 'ELSE
     IF(D17<=150%,
       'THEN
           C17*120%,
       'ELSE
          C17*140%)
    )

Вам нужно переосмыслить логику.
Как написано, вы ВСЕГДА будете выполнять C17*130% когда D17<=200% соответствует истине.

=C17*IF(D17<=150%,120%,IF(D17<=200%,130%,140%)) должно работать - не проверялось.
Двойной IF вернет множитель

0
=IF(D17<=200%,C17*130%,IF(D17<=150%,C17*120%,C17*140%))

Ваш первый if проверяет D17 <= 200%, и его ложные проверки, если D17 <= 150%

Если это не ниже 200, почему это было бы ниже 150?

Вы должны начать с самого ограничительного, если -

IF(D17<=150%,C17*120%,IF(D17<=200%,C17*130%,C17*140%))

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