Ordenar meses cronológicamente en PIVOTARPOR

Problema clásico con PIVOTARPOR: cuando los meses vienen como texto ("enero", "febrero"...), las columnas se ordenan alfabéticamente en lugar de cronológicamente. Abril aparece antes que enero, diciembre antes que febrero... un caos.

La comunidad aporta varias soluciones, cada una con su enfoque:

Truco clave: MES(1&"enero") devuelve 1 (Hugo). Al concatenar "1" delante de un nombre de mes en español, Excel lo interpreta como fecha ("1enero" = 1 de enero) y MES() extrae el número. Esta es la base de las demás soluciones.

Con APILARH para crear columna auxiliar (Alejandro): añade el número de mes como primera columna del campo de columnas para que PIVOTARPOR ordene por él:

``
=PIVOTARPOR(
campofilas;
APILARH(MES(BD_2025[Fecha Ref.]); MAYUSC(TEXTO(BD_2025[Fecha Ref.]; "mmm")));
valores;
SUMA;; 0
)
`

Con array constante en TEXTO (Gerson): la versión más elegante. Usa {"m";"mmm"} dentro de TEXTO para generar ambas columnas (número y nombre) sin necesidad de APILARH:

`
=PIVOTARPOR(
campofilas;
TEXTO("1"&campofechas; {"m";"mmm"});
valores;
SUMA;; 0;; 0
)
`

Solución completa con EXCLUIR (Leo): cuando el resultado incluye la fila/columna numérica auxiliar, se elimina con EXCLUIR para dejar solo los nombres de mes:

`
=EXCLUIR(
PIVOTARPOR(
filas;
APILARH(MES(1&meses); meses);
valores;
SUMA;; 0;; 0
);
1
)
`

Leo explica la técnica paso a paso: concatenar "1" al nombre del mes para simular una fecha, extraer el número con MES, apilarlo como primera columna para que PIVOTARPOR` ordene por él, y finalmente excluir esa columna auxiliar del resultado.

Más contenido de Excel en InflueXcel