
Коллега получил от поставщика электронную таблицу со следующей формулой.
=E10-F10*(H10="Y")-G10*(I10="Y")
Поставщик поясняет это поле следующим образом:
Если H10 и I10 оба равны N, то J10 равен E10
Мне очень любопытно, я никогда не сталкивался с этим синтаксисом раньше IF
и не могу найти никакой документации по нему. Может ли кто-нибудь объяснить, как это работает?
Примеры строк
E F G H I J
100,000 2,000 40 N N 100,000
100,000 2,000 40 Y Y 97,960
100,000 2,000 40 Y N 98,000
100,000 2,000 40 N Y 99,960
У кого-нибудь есть идеи?
решение1
По сути, части формулы, отмеченные (H10="Y")
и (I10="Y")
оцениваемые либоистинныйилиЛОЖЬ. В переводе на электронную таблицу это означает TRUE = 1
и FALSE = 0
. Математически в уравнении он умножает либо на 0, либо на 1.
Итак, строка 1
E F G H I J
100,000 2,000 40 N N 100,000
=E10-F10*(H10="N")-G10*(I10="N")
переводится как
E10-F10*0-G10*0
что означает
E10-0-0
100,000-0-0
100,000
строка 2
E F G H I J
100,000 2,000 40 Y Y 97,960
=E11-F11*(H10="Y")-G11*(I11="Y")
переводится как
=E11-F11*1-G11*1
что означает
100,000-2,000-40
97,960
Короче говоря, логика такова: когда H="Y" умножается на 1 (или включает эту часть) Короче говоря, логика такова: когда H="N" умножается на 0 (обнуляется результат)
То же самое для меня
Надеюсь это поможет.
решение2
Формула в точности эквивалентна:
=E10-IF(H10="Y",F10,0)-IF(I10="Y",G10,0)
потому что такие факторы, как:
(H10="Y")
будет оцениваться либо1или0