Необычный синтаксис Excel IF

Необычный синтаксис Excel IF

Коллега получил от поставщика электронную таблицу со следующей формулой.

=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

Связанный контент