Sintaxe incomum do Excel IF

0

Um colega recebeu uma planilha de um fornecedor com a seguinte fórmula.

=E10-F10*(H10="Y")-G10*(I10="Y")

O fornecedor explica este campo como:

If H10 and I10 both equal N then J10 equals E10

Estou muito curioso, nunca encontrei essa sintaxe para um IF e não consigo encontrar nenhuma documentação sobre isso. Alguém é capaz de explicar como funciona?

Linhas de exemplo

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

Alguém tem alguma ideia?

    
por Burgi 16.10.2015 / 13:19

2 respostas

2

Essencialmente, as partes da fórmula marcadas com (H10="Y") e (I10="Y") estão sendo avaliadas como TRUE ou FALSE . Traduzido para a planilha, isso significa TRUE = 1 e FALSE = 0 . Matematicamente na equação ele está multiplicando por 0 ou 1.

Assim, linha 1

E       F       G   H   I   J
100,000 2,000   40  N   N   100,000

=E10-F10*(H10="N")-G10*(I10="N") se traduz em %código% o que significa

E10-0-0
100,000-0-0
100,000

linha 2

E       F       G   H   I   J
100,000 2,000   40  Y   Y   97,960

E10-F10*0-G10*0 se traduz em %código% o que significa

100,000-2,000-40
97,960

Em resumo, a lógica está dizendo quando H="Y" multiplica por 1 (ou inclui esta parte) Em suma, a lógica está dizendo quando H="N" multiplica por 0 (zerar o resultado)

O mesmo que eu

Espero que isso ajude.

    
por 16.10.2015 / 13:55
2

A fórmula é exatamente equivalente a:

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

porque fatores como:

(H10="Y")

será avaliado como 1 ou 0

    
por 16.10.2015 / 13:38