Resumen mensual ordenado cronológicamente con una sola fórmula AGRUPARPOR

Desde Lima, un miembro de la comunidad plantea un problema muy habitual: tiene datos con fechas y valores, y quiere hacer un resumen por meses ordenado de enero a diciembre, todo con una sola fórmula. Lo consigue en dos pasos pero busca la solución en uno. Comparte su fichero con los datos de ejemplo.

El problema de fondo es que AGRUPARPOR ordena el resultado alfabéticamente por defecto. Así que los meses aparecen como Abril, Agosto, Diciembre... en lugar de Enero, Febrero, Marzo. La comunidad aporta cuatro enfoques distintos.

Nacho usa APILARH con MES como columna de orden:

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

La idea clave: si necesitas que AGRUPARPOR ordene de una forma concreta, dale una columna extra que fuerce ese orden y luego elimínala con EXCLUIR.

NedNavarrete propone una versión más compacta con TEXTO y constante matricial:

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

Al usar "mm" (01, 02, 03...) el orden alfabético coincide con el cronológico. Elegante y sin necesidad de APILARH ni MES.

Gerson añade una fila de total usando LET y SI:

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

Aprovecha que AGRUPARPOR puede generar una fila vacía al final para insertar ahí la etiqueta "Total:".

Un cuarto enfoque radicalmente distinto: primero AGRUPARPOR genera el resultado con orden alfabético, y después SORTBY lo reordena:

`
=SORTBY(
ANCHORARRAY(J3);
VALUE(J3:J15 & "1");
1
)
`

El truco: VALUE("Enero1") devuelve el número de serie de la fecha 1 de enero, así que los meses quedan automáticamente en orden cronológico. ANCHORARRAY referencia el resultado dinámico de la fórmula AGRUPARPOR` en J3.

Cuatro caminos al mismo destino. El fichero adjunto incluye las soluciones 1, 2 y 4 implementadas para poder comparar.

Más contenido de Excel en InflueXcel