Sintaxe incomum do Excel IF

Sintaxe incomum do Excel IF

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:

Se H10 e I10 forem iguais a N, então J10 é igual a E10

Estou muito curioso, nunca encontrei essa sintaxe antes IFe não consigo encontrar nenhuma documentação a respeito. Alguém sabe 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?

Responder1

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

Então linha 1

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

=E10-F10*(H10="N")-G10*(I10="N") traduz-se em E10-F10*0-G10*0 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

=E11-F11*(H10="Y")-G11*(I11="Y") traduz-se em =E11-F11*1-G11*1 que significa

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

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

O mesmo para mim

Espero que isto ajude.

Responder2

A fórmula é exatamente equivalente a:

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

porque fatores como:

(H10="Y")

avaliará como1ou0

informação relacionada