01 / 12El Mes Que Ocurrió Dos Veces

Agrupar FechasExcelTablas Dinámicas

Agrupar fechas por mes y año en tablas dinámicas

El Informe del Consejo Mostró Enero con 182.400 € Frente a un Mes de 134.200 € y Pagó una Prima por Ello, Porque la Tabla Dinámica Agrupó las Fechas por Meses y Nunca por Años

12 oct 202612 min de lectura

UsaFIN.MESAÑO, MES, DIASUMAR.SI.CONJUNTOFECHA

Lowfield Interiors facturó 134.200 € en enero de 2026 frente a una previsión de 150.000 €. El informe del consejo decía 182.400 €, lo llamó 32.400 € por encima del plan y pagó al almacén una prima de 3.400 € por ello.

Ni una sola cifra del archivo estaba mal tecleada. El campo de fecha de la dinámica estaba agrupado por Meses y no por Años, y los 48.200 € que el almacén facturó en enero de 2025 seguían en esa misma fila, doce meses después de cobrarse.

MedidaLo que decía el informeLo que fue enero de 2026
Ingresos de enero182.400,00 €134.200,00 €
Frente a 150.000 € de previsión32.400 € por encima15.800 € por debajo
Pedidos en la fila42
Prima del almacén3.400,00 €0,00 €

Una etiqueta de mes sin año no es un mes. ene es un cajón de doce, y todos los eneros del archivo caen dentro de él.

01El Mes Que Ocurrió Dos Veces

Cuatro Pedidos de Enero, Dos de Ellos del Enero Anterior

Ocho pedidos del libro de pedidos de Lowfield Interiors, en A2:G9. La columna B es la fecha del pedido y la columna D es la etiqueta de fila que mostró la dinámica cuando su campo de fecha estaba agrupado solo por Meses: doce etiquetas, de ene a dic, para un archivo que va de enero de 2025 a febrero de 2026. La columna E es la etiqueta que da ese mismo campo cuando Años y Meses se agrupan juntos. Los cuatro pedidos de enero son todos los que hay: ORD-2411 y ORD-2458 son el enero de 2025 entero, 48.200,00 €, y ORD-3102 y ORD-3118 son el enero de 2026 entero, 134.200,00 €. Agrupados solo por Meses, las dos parejas caen en una sola fila de 182.400,00 €. El libro completo tiene 480 pedidos en veinticinco meses, y su total general es el mismo con cualquiera de las dos agrupaciones.

ABCDEFG
1
Order
Order Date
Net Value
Pivot row · Months only
Pivot row · Years + Months
Date, text or blank
What the sheet did
2
ORD-2411
14/01/2025
£23,900.00
Jan
Jan 2025
Date
A staircase fit-out invoiced in the middle of January 2025, banked, reported and closed in last year's accounts. Grouped by Months alone it is also part of this January, because the row label says Jan and nothing else
3
ORD-2458
29/01/2025
£24,300.00
Jan
Jan 2025
Date
The other January 2025 order, and between them the two make up the whole of that month: £48,200.00. That is the figure the board pack added to January 2026 without anybody keying it in or seeing it move
4
ORD-3102
09/01/2026
£61,750.00
Jan
Jan 2026
Date
The first of the two orders that actually belong to the month under review. On its own it is less than half the month, which is why nobody looked twice at a January total well into six figures
5
ORD-3118
23/01/2026
£72,450.00
Jan
Jan 2026
Date
The largest order in the month and the last one in it. These two come to £134,200.00, which is the real January, £15,800 short of the £150,000 forecast rather than £32,400 ahead of it
6
ORD-3140
06/02/2026
£39,800.00
Feb
Feb 2026
Date
A February order, correct under either grouping, and the row that shows the problem is not arithmetic. Every month in this file is right except the ones that happened twice, and only January happened twice
7
ORD-3147
2026-02-11
£18,650.00
Feb
Feb 2026
Text
A date that arrived from the web shop as text, left-aligned, in ISO order. The labels here are what the pivot gave it after the cell was converted; until it was, the Group dialog refused the whole field
8
ORD-3151
£9,400.00
(blank)
(blank)
Blank
An order raised over the phone with no date on it at all. A blank is as fatal to grouping as a text date, and far harder to see, because a blank cell looks like nothing rather than like the wrong thing
9
ORD-3163
27/02/2026
£31,500.00
Feb
Feb 2026
Date
The last order in the sample, a clean date in a clean month. It is the row people check when they want to be told the sheet works, and it is the kind of row that never went wrong in any version of this pack

fxLas celdas con fórmulas están resaltadas en verde

Pasa el mouse sobre las celdas con fórmulas para ver la fórmula y resaltar las celdas referenciadas

La columna D es la etiqueta de fila que mostró la dinámica y la columna E es la que debería haber mostrado. Los dos eneros llevan la misma etiqueta en la columna D, con doce meses de diferencia.

Los dos pedidos de 2025 de las filas 2 y 3 son ingresos reales, cobrados y cerrados en las cuentas del año pasado. Agrupados solo por Meses son también parte de este enero, porque ene es todo lo que dice la etiqueta de la fila.

En el archivo no hay nada duplicado. La dinámica movió 48.200 € del año pasado a la fila de este año, el total general no se movió, y la conciliación del final del informe pasó de camino a la puerta.

Escenario: Mete una lista de pedidos de dos años en una dinámica, arrastra la fecha a Filas y agrúpala solo por Meses. Cuenta las filas: doce, sea cual sea el periodo. Luego compara enero con =SUMAR.SI.CONJUNTO(D2:D481;B2:B481;">="&FECHA(2026;1;1);B2:B481;"<"&FECHA(2026;2;1)).

Pruébalo en la cuadrícula

02Qué Hace en Realidad Agrupar un Campo de Fecha

Agrupar no cambia nada de tus datos. Añade campos a la caché de la dinámica y vuelve a etiquetar las filas.

Haz clic derecho en cualquier fecha de la dinámica y elige Agrupar: el cuadro ofrece Segundos, Minutos, Horas, Días, Meses, Trimestres y Años. La lista admite varias opciones a la vez, con Ctrl.

Si eliges Meses y Años juntos, la lista de campos gana un campo Años, mientras el campo de fecha original conserva su nombre y pasa a contener de ene a dic. Esa separación es lo que conviene saber.

Si eliges Meses a solas, no hay ningún campo Años que arrastrar después. El campo de fecha tiene doce etiquetas y nada en la dinámica distingue 2025 de 2026.

Agrupado porEtiquetas de filaFilas en un archivo de dos años
Mesesene … dic12
Años, Meses2025 > ene …2 años, 12 meses cada uno
Años, Trimestres2025 > T1 …8
Días, número de días 706/01/2025 - 12/01/2025 …una por semana

Escenario: Agrupa tu campo de fecha por Años y Meses, saca después Años del cuadro Filas y mira cómo la tabla pasa de veinticuatro filas a doce sin ningún aviso. Vuelve a meterlo y comprueba que enero se parte otra vez.

Pruébalo en la cuadrícula

03Agrupa por Años y Meses, Nunca Solo por Meses

El arreglo del informe era un Ctrl y un clic. Clic derecho en una etiqueta de fila, Desagrupar, y agrupar de nuevo con Años y Meses marcados a la vez.

El orden dentro del cuadro Filas decide cómo se lee la tabla. Años encima del campo de fecha da 2025 > ene; al revés da ene > 2025, que son doce encabezados de dos filas cada uno y ningún orden cronológico que nadie pueda seguir.

Las casillas Comenzar en y Terminar en se rellenan con la primera y la última fecha de los datos. Déjalas así: una fecha escrita a mano se queda vieja en cuanto el archivo gana una fila, y lo que queda fuera se junta en un solo cajón en cada extremo.

Alcance. Agrupar por Años usa años naturales, y ninguna fecha en Comenzar en cambia eso. Para un año que va de abril a marzo, añade una columna con =AÑO(B2)+(MES(B2)>=4) y pon esa en Filas.

Una dinámica construida sobre el Modelo de datos no puede agrupar fechas. El comando Agrupar aparece en gris, y ahí la respuesta es una tabla de calendario en Power Pivot, no un clic derecho.

Escenario: Desagrupa el campo de fecha de tu dinámica y vuelve a agruparlo con Años y Meses marcados. Enero debería partirse en una fila por año, y esas filas deberían volver a sumar la única fila que tenías hace un momento.

Pruébalo en la cuadrícula

04No Se Puede Agrupar Esa Selección

Excel se niega a agrupar un campo de fecha que contenga algo que no sea una fecha. Basta una fecha de texto entre 480 filas, y basta también una celda vacía.

El mensaje no señala nada, así que llega a las culpables contando. =CONTAR(B2:B481) cuenta fechas de verdad, =CONTARA(B2:B481) cuenta todas las celdas no vacías y =CONTAR.BLANCO(B2:B481) cuenta los huecos.

Una sola celda lo dice sin rodeos: =SI(CONTAR(B2:B481)<CONTARA(B2:B481);"Fechas de texto";"Limpio"). Una diferencia de once son once celdas que arreglar, no una dinámica que rehacer.

Las fechas de texto se convierten en una columna auxiliar. =VALOR(ESPACIOS(B2)) sirve cuando el texto ya está en el orden de fecha de la hoja, y =VALFECHA(ESPACIOS(B2)) para el resto; ESPACIOS quita el espacio final que suele ser la causa.

Para una columna con las dos cosas, =SI.ERROR(VALFECHA(ESPACIOS(B2));B2) convierte el texto y deja en paz las fechas reales. Pega el resultado encima del original como valores, dale formato de fecha, actualiza, y el cuadro Agrupar deja de negarse.

Escenario: Escribe una fecha de tu columna con un apóstrofo delante, actualiza la dinámica e intenta agrupar: Excel rechaza el campo entero. Arregla esa celda con =VALFECHA(ESPACIOS(B2)), pégala como valor, actualiza y agrupa otra vez.

Pruébalo en la cuadrícula

05La Agrupación Vive en la Caché

La agrupación de una dinámica pertenece a la caché que hay detrás, no a la hoja que estás mirando. Dos dinámicas sobre la misma fuente suelen compartir una caché, así que agrupar una agrupa la otra.

Así es como un informe ya firmado cambia solo. Alguien agrupa por Trimestres la pestaña de resumen un jueves, y la pestaña mensual aparece en trimestres cuando se abre el lunes.

Copia una dinámica y la copia comparte la caché del original, que es la forma más habitual de que pase. Crear una segunda dinámica sobre el mismo rango también suele compartirla, porque Excel reutiliza la caché que ya tiene.

La salida es el asistente antiguo. Pulsa Alt, luego D y luego P, y te pregunta si quieres basar la nueva dinámica en la existente. Responde que no y conservará su propia agrupación, a cambio de una segunda copia de los datos en el archivo.

Escenario: Crea dos dinámicas sobre una misma tabla, agrupa la primera por Trimestres y mira la segunda. Si sus meses se han vuelto trimestres, comparten caché. Rehaz la segunda con Alt, D, P y responde que no cuando ofrezca compartir.

Pruébalo en la cuadrícula

06Días, Semanas y la Agrupación Que No Se Mezcla

Días es la única opción que admite un número. Pon 7 en Número de días y la dinámica agrupa por semanas.

No se combina con nada más. Elegir Días con un número deja en gris Meses, Trimestres y Años, así que una tabla semanal no lleva etiqueta de año propia y un archivo de dos años sigue en una sola lista larga.

Los cajones empiezan en lo que haya en Comenzar en, que por defecto es la fecha más antigua de los datos. Un archivo que empieza un martes tiene semanas de martes a lunes, y no van a cuadrar con la semana de nadie.

Para semanas de verdad, añade una columna y no agrupes nada. =B2-DIASEM(B2;3) devuelve el lunes de la semana de esa fecha, y se ordena, se filtra y se subtotaliza como la fecha que es.

Escenario: Agrupa un campo de fecha por Días con Número de días en 7 y lee la primera etiqueta de fila. Si no empieza en lunes, desagrupa, pon =B2-DIASEM(B2;3) en una columna auxiliar y usa ese campo en Filas.

Pruébalo en la cuadrícula

07La Columna Que Dos Años No Pueden Juntar

La dinámica más robusta es la que nunca necesita el cuadro Agrupar. Añade una columna de mes a la fuente y no agrupes nada.

=FIN.MES(B2;0) devuelve el último día del mes en el que cae una fecha: 31/01/2025 para un enero y 31/01/2026 para el otro. Dale a la columna el formato mmm aaaa y la dinámica muestra ene 2025 y ene 2026 como los meses distintos que son.

Por debajo es una fecha real, así que se ordena cronológicamente, se filtra por rango y alimenta a SUMAR.SI.CONJUNTO sin ninguna búsqueda. =TEXTO(B2;"aaaa-mm") hace lo mismo como texto, que también se ordena bien pero no se puede comparar con una fecha.

Dos columnas más no cuestan nada y responden a casi todo lo que pide un informe: =AÑO(B2) y =MES(B2), una de cada, listas para cualquier segmentación o filtro posterior.

Escenario: Pon =FIN.MES(B2;0) al lado de tu columna de fechas, dale formato mmm aaaa, actualiza la dinámica y lleva el campo nuevo a Filas en lugar de la fecha agrupada. Dos eneros, dos filas y ningún cuadro de diálogo.

Pruébalo en la cuadrícula

08El Mismo Informe Sin Tabla Dinámica

Una tabla mensual son cuatro fórmulas, y las fórmulas no se reagrupan solas de un día para otro.

=ORDENAR(UNICOS(FIN.MES($B$2:$B$481;0))) derrama los fines de mes en orden, una fila por cada mes que los datos contienen de verdad. Dale a esa columna el formato mmm aaaa y ya tienes el lado izquierdo del informe.

Al lado van el total y el recuento, los dos acotados por el mes en vez de etiquetados con él:

=SUMAR.SI.CONJUNTO($D$2:$D$481;$B$2:$B$481;">="&FIN.MES($F2;-1)+1;$B$2:$B$481;"<="&$F2)
=CONTAR.SI.CONJUNTO($B$2:$B$481;">="&FIN.MES($F2;-1)+1;$B$2:$B$481;"<="&$F2)

La previsión se trae con los mismos fines de mes: =BUSCARX($F2;$H$2:$H$13;$I$2:$I$13), o =INDICE($I$2:$I$13;COINCIDIR($F2;$H$2:$H$13;0)) en un archivo que tenga que abrirse en un Excel antiguo.

Para ver las filas que escondía una etiqueta juntada, derrámalas: =FILTRAR($A$2:$D$481;(AÑO($B$2:$B$481)=2025)*(MES($B$2:$B$481)=1)) devuelve los dos pedidos que convirtieron 134.200 € en 182.400 €.

Escenario: Derrama la lista de meses con =ORDENAR(UNICOS(FIN.MES($B$2:$B$481;0))), pon el SUMAR.SI.CONJUNTO al lado y compara su enero con el de tu dinámica. Si no coinciden, la dinámica está agrupada solo por Meses.

Pruébalo en la cuadrícula

09Tres Comprobaciones Antes de Enviar el Informe

Tres fórmulas cazan todas las versiones de esto antes de que nadie lea el informe.

El periodo. =MAX($B$2:$B$481)-MIN($B$2:$B$481) devuelve los días que abarca el archivo. Más de 365 en una tabla mensual de doce filas significa que al menos una fila lleva dos años dentro.

El recuento. =CONTAR($B$2:$B$481) frente a =CONTARA($B$2:$B$481). Iguales, y la columna son fechas de arriba abajo; distintos, y el cuadro Agrupar está a punto de negarse.

La fila. =SUMAPRODUCTO(--(AÑO($B$2:$B$481)=2025);--(MES($B$2:$B$481)=1);$D$2:$D$481) devuelve aquí 48.200,00 €: lo que el enero pasado le está sumando a este.

Y la comprobación que no caza nada: =SUMA($D$2:$D$481) coincide con el total general de la dinámica esté bien o mal la agrupación, porque agrupar mueve filas entre etiquetas y nunca pierde ninguna.

10Ocho Trampas

  1. Meses sin Años. Doce filas, todos los años del archivo doblados dentro, y un total general que sigue cuadrando.
  2. Sacar Años del cuadro Filas. La tabla se parte por la mitad, las cifras cambian y Excel no dice nada.
  3. La agrupación automática de fechas. Excel agrupa un campo de fecha en cuanto cae en Filas, y los campos que añade se quitan sin querer con facilidad. Se desactiva en Archivo > Opciones > Datos.
  4. Una fecha de texto. Una celda entre 480 y el cuadro Agrupar rechaza el conjunto con «No se puede agrupar esa selección».
  5. Una fecha vacía. El mismo mensaje, más difícil de encontrar, porque una celda vacía parece nada en vez de parecer algo equivocado.
  6. Una caché compartida. Agrupar una dinámica reagrupa todas las construidas sobre la misma fuente, en todas las hojas del archivo.
  7. Grupos de siete días. Empiezan en la fecha más antigua de los datos, así que un archivo que abre un martes mantiene semanas de martes todo el año.
  8. Solo años naturales. Agrupar por Años no puede empezar en abril, diga lo que diga el contrato.

11Mini Ejercicios

  1. Agrupa una columna de fechas de dos años solo por Meses y cuenta las filas. Espera 12 y no 24.
  2. Pon =FIN.MES(B2;0) al lado de las fechas, dale formato mmm aaaa y úsala en Filas. Espera ene 2025 y ene 2026 en líneas distintas.
  3. Escribe un apóstrofo delante de una fecha, actualiza e intenta agrupar. Espera «No se puede agrupar esa selección» y ninguna agrupación.
  4. Compara =CONTAR(B2:B481) con =CONTARA(B2:B481). Espera una diferencia igual al número de fechas de texto de la columna.
  5. Suma enero dos veces: lee la fila de la dinámica y escribe =SUMAR.SI.CONJUNTO(D2:D481;B2:B481;">="&FECHA(2026;1;1);B2:B481;"<"&FECHA(2026;2;1)). Espera 182.400,00 € y 134.200,00 €.

Lo Que Hay Que Llevarse

En este archivo no había nada mal escrito. Cuatrocientos ochenta pedidos con su fecha correcta, una dinámica que los sumó bien y un total general al pie del informe exacto al céntimo.

Una etiqueta de fila era un mes sin año. Ahí están los 48.200 €, la prima y el mes que se contó como adelantado al plan mientras iba 15.800 € por debajo.

Así que agrupa un campo de fecha por Años y Meses a la vez o, mejor, dale a la fuente una columna de fin de mes y no abras nunca el cuadro. A una etiqueta que no distingue 2025 de 2026 se lo acabarán preguntando.

Comparte este artículo:
Volver al Blog
Reto diario · Día 74

Construye un desglose de categorías ordenado y sin duplicados a partir de un registro de tickets con UNICOS, ORDENAR y CONTAR.SI

Un ejercicio nuevo cada día, resuelto en una cuadrícula real.

Resolver el reto de hoy