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`
El problema: SUMAR.SI que no cuadra al arrastrar
Un miembro de la comunidad tenía datos de nóminas de varias empresas (cantidad, salario base, bonificación, vacaciones, descuentos...) y quería resumirlos en una tabla cruzada: empresas en columnas, conceptos en filas. Lo había logrado con una tabla dinámica, pero quería replicarlo con fórmulas. Probó con SUMAR.SI y con AGRUPARPOR. La segunda funcionaba; la primera daba valores incorrectos al arrastrarla.
Este es uno de los errores más comunes con SUMAR.SI, y casi siempre tiene la misma causa: las referencias mal ancladas.
Por qué falla: referencias absolutas mal puestas
La fórmula original era:
=SUMAR.SI(Datos!$B:$B; $D$3; Datos!$C:$C)Tiene dos problemas al arrastrarla por la tabla cruzada:
- El criterio
$D$3bloquea fila y columna. Con el signo de dólar delante de ambas, al arrastrar hacia la derecha o hacia abajo siempre busca lo mismo (el valor de D3). Para una tabla cruzada, el criterio de empresa debería serD$3: fija la fila (siempre la cabecera) pero deja libre la columna, para que cambie de empresa al arrastrar a la derecha. - El rango de suma
Datos!$C:$Capunta siempre a la misma columna. Está fijado a la columna de Cantidad, así que da igual a qué concepto arrastres: siempre suma Cantidad. Debería ir cambiando a Salario Base, Bonificación, etc., según la fila.
La regla mental es sencilla: en una tabla cruzada, piensa qué debe cambiar y qué debe quedarse fijo en cada dirección, y coloca los dólares en consecuencia. Fila de cabecera fija con $ delante del número; columna que avanza sin $ delante de la letra.
Una solución intermedia: INDICE + COINCIDIR
Para que el rango de suma cambie solo según el concepto, otro miembro propuso construirlo de forma dinámica con INDICE y COINCIDIR. La idea es que el tercer argumento de SUMAR.SI (el rango a sumar) se calcule según la posición del concepto, en lugar de escribirlo a mano y arrastrarlo. Funciona, pero sigue siendo una fórmula que hay que copiar por toda la tabla.
La vía moderna: AGRUPARPOR en una sola fórmula
La alternativa de Excel 365 simplifica todo. AGRUPARPOR con encabezados genera la tabla resumen entera en una sola fórmula:
=AGRUPARPOR(Datos!B1:B23; Datos!C1:I23; SUMA; 3; 1)- El primer argumento son las filas (las empresas).
- El segundo, las columnas de valores a sumar (todos los conceptos de golpe).
SUMAes la función de agregado.- El cuarto argumento,
3, incluye encabezados de fila y de columna. - El quinto,
1, añade totales generales.
Y si necesitas el resultado transpuesto (empresas en columnas en vez de filas), basta con envolverlo todo en TRANSPONER. Una función, cero arrastres, cero referencias que se descuadran.
Funciones clave
SUMAR.SI: suma condicional clásica; su talón de Aquiles son las referencias al arrastrar.INDICE+COINCIDIR: permiten construir un rango de suma dinámico según la posición.AGRUPARPOR: genera la tabla cruzada completa con encabezados y totales en una fórmula.TRANSPONER: gira filas por columnas si necesitas la orientación contraria.
Conclusión
Cuando SUMAR.SI "no suma bien al arrastrar", el culpable casi nunca es la función: son los dólares mal puestos en el criterio y en el rango de suma. Aprender a anclar referencias sigue siendo imprescindible, pero para tablas resumen completas, AGRUPARPOR te ahorra el problema de raíz. Dudas tan cotidianas como esta se resuelven a diario en la comunidad de InflueXcel.
Más casos con estas funciones
Más contenido de Excel en InflueXcel
- SUMAR.SI.CONJUNTO en Excel: las 5 dudas más buscadas, resueltas (y por qué no acepta ELEGIRCOLS) TutorialLe pregunté a Copilot cuáles son las 5 dudas que más se buscan sobre la función SUMAR.SI.CONJUNTO y las resuelvo una a una en Excel, cada un
- SUMAR.SI.CONJUNTO en acción con El Señor de los Anillos 🃏 El 21 de La Comarca TutorialLo que practicamos en este caso: • Contar cartas por palo con CONTAR.SI • Sumar valores con condiciones (SUMAR.SI / SUMAR.SI.CONJUNTO) • Apl
- Reto de Excel: El cumpleaños de Bilbo 🎂 | CONTAR.SI y SUMAR.SI desde cero (Nivel 1) TutorialEn La Comarca se celebra el cumpleaños número 111 de Bilbo Bolsón: cerveza, pasteles, fuegos artificiales… y algún curioso escondido tras el
- Regularización trimestral con AGRUPARPOR y ARCHIVOMAKEARRAY: del caos a una fórmula CasoCaso fresquito de la comunidad. Juan plantea un problema contable: tiene una tabla de movimientos (Nombre, Concepto, Importe, Cuenta, Fecha)
- Precio más reciente por artículo: REDUCE, AGRUPARPOR y números complejos CasoNuevo reto interesante planteado por Miki: dada una tabla con artículos y sus precios históricos por año (múltiples filas por artículo), obt
- COMBINARX falla con datos de tablas dinámicas: cómo solucionarlo con AGRUPARPOR CasoUn miembro de la comunidad utiliza COMBINARX para cruzar datos financieros (códigos de cuenta, nombres y comentarios) entre dos años fiscale
- Agrupar y limpiar referencias con AGRUPARPOR, DIVIDIRTEXTO y APILARV CasoInteresante problema de un miembro que trabaja con una tabla de "Push Money cancelado" con más de 150 productos. Las referencias vienen dupl
- Extraer máximos por clave y calcular tiempo transcurrido: AGRUPARPOR vs fórmulas clásicas CasoInteresante caso doble que arrancó con una necesidad muy concreta: dada una tabla con columnas Clave, Secuencia y Rev, obtener el máximo de
- Categorizar automáticamente conceptos con BUSCARX REGEX y MAP CasoUn miembro de la comunidad tiene una lista de compra (conceptos como "leche entera", "pan integral", etc.) y una tabla de categorías donde c
- Obtén los valores seleccionados de un slicer con MIEMBRORANGOCUBO TutorialUn slicer filtra la tabla dinámica, pero ¿cómo sabes desde una fórmula qué ha seleccionado el usuario? Es lo que hace falta para poner títul