
Un colega recibió una hoja de cálculo de un proveedor que contiene la siguiente fórmula.
=E10-F10*(H10="Y")-G10*(I10="Y")
El proveedor explica este campo como:
Si H10 e I10 son iguales a N, entonces J10 es igual a E10.
Tengo mucha curiosidad, nunca IF
antes me había encontrado con esta sintaxis y parece que no puedo encontrar ninguna documentación al respecto. ¿Alguien puede explicar cómo funciona?
Filas de ejemplo
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
¿Alguien tiene alguna idea?
Respuesta1
Esencialmente, las partes de la fórmula marcadas (H10="Y")
y (I10="Y")
se evalúan paraVERDADEROoFALSO. Traducido a la hoja de cálculo esto significa TRUE = 1
y FALSE = 0
. Matemáticamente en la ecuación se multiplica por 0 o por 1.
Entonces la línea 1
E F G H I J
100,000 2,000 40 N N 100,000
=E10-F10*(H10="N")-G10*(I10="N")
se traduce en
E10-F10*0-G10*0
qué significa
E10-0-0
100,000-0-0
100,000
línea 2
E F G H I J
100,000 2,000 40 Y Y 97,960
=E11-F11*(H10="Y")-G11*(I11="Y")
se traduce en
=E11-F11*1-G11*1
qué significa
100,000-2,000-40
97,960
En resumen, la lógica es decir cuando H="Y" se multiplica por 1 (o incluir esta parte). En resumen, la lógica es decir cuando H="N" se multiplica por 0 (poner a cero el resultado).
Lo mismo para yo
Espero que esto ayude.
Respuesta2
La fórmula es exactamente equivalente a:
=E10-IF(H10="Y",F10,0)-IF(I10="Y",G10,0)
porque factores como:
(H10="Y")
evaluará a cualquiera1o0