Distribuir gastos por categoría con SI.CONJUNTO matricial y reparto proporcional

Un miembro de la comunidad tiene una tabla de gastos donde cada línea tiene un concepto (categoría como "SGA", "Overhead", "COGS") y un importe. Necesita distribuir cada importe en la columna correcta según su categoría. Además, los gastos marcados como "Reparto" deben distribuirse proporcionalmente entre todas las columnas según unos pesos definidos en otra fila. El usuario intentaba adaptar una solución anterior y no le funcionaba porque la lógica del reparto proporcional no cuadraba.

Hugo propone un SI anidado con reparto:

``
=SI.ND(SI(D25:D31="Reparto";
E25:E31F22:H22/SUMA(F22:H22);
SI(D25:D31=F10:I10;E25:E31;0));0)
`

Si el concepto es "Reparto", multiplica el importe por el peso de cada columna dividido entre el total de pesos. Si no, compara el concepto con las cabeceras y coloca el importe donde corresponda.

Leo presenta una versión más limpia con LET y SI.CONJUNTO:

`
=LET(
p;F22:H22;
d;D25:D31;
i;E25:E31;
h;F24:I24;
SI.ND(SI.CONJUNTO(
d="Reparto"; ip/SUMA(p);
d=h; i
);0)
)
`

Más legible con LET para nombrar variables y SI.CONJUNTO para manejar los dos escenarios de forma clara. El SI.ND(...;0)` convierte los #N/D (celdas sin coincidencia) en ceros.

Más contenido de Excel en InflueXcel