Resumen mensual con AGRUPARPOR en una sola fórmula y orden cronológico

José escribe desde Lima con una consulta muy práctica: tiene una tabla de movimientos financieros con fechas y valores, y quiere generar un resumen mensual ordenado cronológicamente (Enero a Diciembre) usando una sola fórmula. Lo consigue en dos pasos — primero AGRUPARPOR para agrupar y luego ORDENARPOR para reordenar — pero no logra unificarlo.

El fichero adjunto muestra el problema: AGRUPARPOR(TEXTO(B3:B29;"MMMM");C3:C29;SUMA) genera el resumen mensual perfecto, pero los meses salen en orden alfabético (Agosto, Diciembre, Enero...) en lugar de cronológico.

Nacho responde en apenas 10 minutos con la solución en una sola línea:

``
=EXCLUIR(
AGRUPARPOR(
APILARH(MES(B3:B29); TEXTO(B3:B29; "MMMM"));
C3:C29;
SUMA
);; 1
)
`

El truco: APILARH crea dos columnas como argumento de agrupación — MES() devuelve el número de mes (1, 2, 3...) que AGRUPARPOR usa para ordenar internamente, y TEXTO(...;"MMMM") genera el nombre del mes para mostrar. Como AGRUPARPOR ordena por todas las columnas de agrupación, el número de mes fuerza el orden cronológico. Después EXCLUIR(;;1) elimina la primera columna (la numérica auxiliar), dejando solo los nombres.

NedNavarrete y Gerson llegan a la misma solución pero con un enfoque aún más compacto usando constante matricial dentro de TEXTO:

`
=EXCLUIR(
AGRUPARPOR(
TEXTO(B3:B29; {"mm"\"mmmm"});
C3:C29;
SUMA
);; 1
)
`

Aquí TEXTO(fecha;{"mm"\"mmmm"}) genera directamente las dos columnas: "mm" da "01", "02"... (ordena bien como texto) y "mmmm" da "Enero", "Febrero"... Todo en una sola función, sin necesidad de APILARH ni MES.

Gerson añade un bonus para incluir la etiqueta "Total:" en la fila de totales:

`
=LET(
a; EXCLUIR(AGRUPARPOR(TEXTO(B3:B29; {"m"\"mmmm"}); C3:C29; SUMA);; 1);
SI(a=""; "Total:"; a)
)
``

Una fórmula compacta, elegante y de uso inmediato para cualquier resumen temporal.

Más contenido de Excel en InflueXcel