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

=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

У кого-нибудь есть идеи?

2 ответа2

2

Формула в точности эквивалентна:

=E10-IF(H10="Y",F10,0)-IF(I10="Y",G10,0)

потому что такие факторы, как:

(H10="Y")

будет оцениваться в 1 или 0

2

По существу, части формулы, помеченные (H10="Y") и (I10="Y") , оцениваются либо в TRUE, либо в FALSE. В переводе на электронную таблицу это означает 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 (обнулить результат)

То же самое для меня

Надеюсь это поможет.

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