Por qué SUMAR.SI falla al arrastrar y cómo resolverlo con AGRUPARPOR

Un miembro de la comunidad comparte un archivo con datos de nóminas de varias empresas (cantidad, salario base, bonificación, vacaciones, descuentos...) y quiere resumirlos en una tabla cruzada: empresas en columnas y conceptos en filas. Lo ha conseguido con tabla dinámica, pero quiere replicarlo con fórmulas. Intenta con SUMAR.SI y con AGRUPARPOR — la segunda funciona, pero la primera no da los valores correctos al arrastrar.

El problema está en las referencias. La fórmula original:

``
=SUMAR.SI(Datos!$B:$B;$D$3;Datos!$C:$C)
`

tiene dos errores al arrastrarla:

- El criterio $D$3 bloquea fila y columna. Al arrastrar hacia abajo, siempre busca "PRUEBA1". Debería ser D$3 (fila fija, columna libre para que cambie al arrastrar a la derecha).

- El rango de suma Datos!$C:$C apunta siempre a la columna Cantidad. Al arrastrar a la derecha debería cambiar a Salario Base, Bonificación, etc. Pero como está referenciando columnas fijas, siempre suma lo mismo.

Un miembro señala el error y comparte el archivo corregido con las referencias ajustadas. Otro aporta una solución más completa: usar INDICE + COINCIDIR para construir un rango dinámico en el tercer argumento de SUMAR.SI, de forma que la columna de suma cambie automáticamente según la posición.

Pero la alternativa moderna simplifica todo: AGRUPARPOR con encabezados genera la tabla resumen en una sola fórmula:

`
=AGRUPARPOR(Datos!B1:B23;Datos!C1:I23;SUMA;3;1)
`

El cuarto argumento (3) incluye encabezados de fila y columna, y el quinto (1) añade totales generales. Y si se necesita el resultado transpuesto (empresas en columnas en vez de filas), basta con envolver todo en TRANSPONER.

Funciones utilizadas: SUMAR.SI, AGRUPARPOR, INDICE, COINCIDIR, TRANSPONER`

Más contenido de Excel en InflueXcel