
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 IF
e 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 = 1
e 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