Sintaxis IF inusual de Excel

Sintaxis IF inusual de Excel

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 IFantes 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 = 1y 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

información relacionada