Analizar datos a lo largo del tiempo es una tarea fundamental en Excel. Una de las necesidades más comunes es agrupar y contar registros basándose en un mes y año específicos. Por ejemplo, ¿cuántas ventas se realizaron en enero de 2023? ¿Cuántos proyectos se completaron en mayo de 2024? La fórmula que exploraremos aquí ofrece una solución robusta y elegante para responder a estas preguntas sin necesidad de crear columnas auxiliares.
Utilizando una combinación inteligente de las funciones SUMAPRODUCTO, MES y AÑO, podemos crear un contador dinámico que filtra nuestros datos por el período exacto que nos interesa. Esta técnica es especialmente útil en dashboards e informes donde necesitas resúmenes estadísticos al instante.
Sintaxis
=SUMAPRODUCTO(--(MES(rango_fechas)=MES(fecha_criterio));--(AÑO(rango_fechas)=AÑO(fecha_criterio)))
A primera vista, esta fórmula puede parecer compleja, pero en realidad es una construcción lógica paso a paso. Funciona creando matrices (listas) de valores verdaderos y falsos para cada condición (mes y año) y luego las convierte en unos y ceros para sumarlas. Veamos sus componentes:
-
MES(rango_fechas)=MES(fecha_criterio)
Crea una matriz de valores lógicos. Compara el mes de cada fecha enrango_fechascon el mes de lafecha_criterio. El resultado es una matriz deVERDADERO(si los meses coinciden) yFALSO(si no). -
AÑO(rango_fechas)=AÑO(fecha_criterio)
Funciona de manera idéntica a la anterior, pero comparando los años. Genera otra matriz deVERDADEROyFALSO. -
—
Este es un operador de doble negación (o doble unario). Su función es crucial: convierte los valoresVERDADEROen el número1y los valoresFALSOen el número0. Lo aplicamos a cada una de las matrices lógicas. -
SUMAPRODUCTO(…)
Finalmente,SUMAPRODUCTOtoma las dos matrices, ahora compuestas de unos y ceros, y las multiplica elemento por elemento. Un registro solo resultará en1 * 1 = 1si tanto el mes como el año coincidieron. Si alguna de las condiciones no se cumple, el producto será0. La función luego suma todos estos resultados, dándonos el recuento total de registros que cumplen ambas condiciones.
Ejemplos
Para los siguientes ejemplos, utilizaremos la siguiente tabla de datos de ventas. El rango de fechas se encuentra en A2:A11.
| A | B | C | |
|---|---|---|---|
| 1 | Fecha de Venta | Producto | Importe |
| 2 | 15/01/2023 | Teclado | €75 |
| 3 | 22/01/2023 | Ratón | €40 |
| 4 | 05/02/2023 | Monitor | €300 |
| 5 | 18/02/2023 | Teclado | €75 |
| 6 | 03/03/2023 | Ratón | €40 |
| 7 | 15/01/2024 | Webcam | €120 |
| 8 | 28/01/2024 | Teclado | €80 |
| 9 | 11/02/2023 | Webcam | €120 |
| 10 | 25/03/2023 | Monitor | €300 |
| 11 | 30/01/2023 | Micrófono | €95 |
Ejemplo 1: Contar las ventas de enero de 2023. Usaremos una celda (ej. E1) que contiene la fecha 01/01/2023 como nuestro criterio.
=SUMAPRODUCTO(--(MES(A2:A11)=MES(E1));--(AÑO(A2:A11)=AÑO(E1))) -> Resultado esperado: 3
(La fórmula cuenta las fechas 15/01/2023, 22/01/2023 y 30/01/2023).
Ejemplo 2: Contar las ventas de febrero de 2023 introduciendo los números de mes y año directamente.
=SUMAPRODUCTO(--(MES(A2:A11)=2);--(AÑO(A2:A11)=2023)) -> Resultado esperado: 3
(Esta variante es útil para cálculos rápidos donde no quieres depender de una celda de criterio. Cuenta las fechas 05/02/2023, 18/02/2023 y 11/02/2023).
Ejemplo 3: Añadir una condición extra. Contar cuántos «Teclados» se vendieron en enero de 2024.
=SUMAPRODUCTO(--(MES(A2:A11)=1);--(AÑO(A2:A11)=2024);--(B2:B11="Teclado")) -> Resultado esperado: 1
(Este ejemplo demuestra la escalabilidad de SUMAPRODUCTO. Simplemente añadimos otra matriz de condición para el producto).
Aplicaciones Prácticas
- Informes FinancierosCrear resúmenes mensuales de transacciones, gastos o ingresos para analizar la salud financiera de un proyecto o empresa.
- Seguimiento de VentasCalcular el número de ventas o leads generados cada mes para evaluar el rendimiento del equipo comercial y detectar tendencias estacionales.
- Gestión de ProyectosContar el número de tareas completadas o hitos alcanzados en un mes específico para monitorizar el progreso del proyecto.
- Análisis de Datos de RRHHRegistrar el número de contrataciones, bajas o evaluaciones de desempeño por mes y año para la planificación de la fuerza laboral.
Observaciones
Es fundamental que todos los rangos utilizados dentro de SUMAPRODUCTO tengan exactamente el mismo tamaño (mismo número de filas y columnas). De lo contrario, la fórmula devolverá un error #¡VALOR!.
El operador de doble negación -- es una forma eficiente de convertir valores lógicos a números. Alternativamente, puedes conseguir el mismo resultado multiplicando la matriz por 1 (ej: (MES(A2:A11)=1)*1) o usando la función N (ej: N(MES(A2:A11)=1)).
Aunque esta fórmula es muy potente, en hojas de cálculo con decenas de miles de filas, su rendimiento puede verse afectado, ya que realiza cálculos de matriz. Para conjuntos de datos muy grandes, las alternativas como CONTAR.SI.CONJUNTO o las Tablas Dinámicas suelen ser más eficientes.
Errores comunes
- #¡VALOR! Ocurre si los rangos de las diferentes matrices no tienen las mismas dimensiones, o si el rango de fechas contiene celdas con texto que no puede ser interpretado como una fecha.
- #¿NOMBRE? Aparece si el nombre de alguna de las funciones está mal escrito (p. ej.,
SUMAPRODUCTen lugar deSUMAPRODUCTO).
Alternativas
-
=CONTAR.SI.CONJUNTO(rango_fechas; ">=" & FECHA(2023;1;1); rango_fechas; "<=" & FIN.MES(FECHA(2023;1;1);0))Usar la función
CONTAR.SI.CONJUNTOes la alternativa más común y, a menudo, más eficiente. No procesa matrices en memoria de la misma manera, lo que la hace más rápida. En este caso, se define un criterio para contar fechas que sean mayores o iguales al primer día del mes y menores o iguales al último día de ese mismo mes. Requiere las funciones auxiliaresFECHAyFIN.MES. -
=FILAS(FILTRAR(rango_fechas; (MES(rango_fechas)=1) * (AÑO(rango_fechas)=2023)))Para usuarios de Microsoft 365, la combinación de
FILASyFILTRARes una alternativa moderna y dinámica.FILTRARdevuelve un rango con solo las fechas que cumplen las condiciones, yFILASsimplemente cuenta cuántas hay. La multiplicación*entre las condiciones lógicas actúa como un operador "Y", similar a como lo haceSUMAPRODUCTO. -
Tablas Dinámicas
Para un análisis más interactivo y completo, una Tabla Dinámica es la herramienta ideal. Simplemente arrastra el campo de fecha a la sección de Filas (Excel lo agrupará automáticamente por años, trimestres y meses) y luego arrastra cualquier campo al área de Valores (configurado como "Recuento") para obtener un resumen completo sin escribir una sola fórmula.
