En el mundo de la productividad y el desarrollo personal, el seguimiento de hábitos es una herramienta fundamental para medir el progreso y mantener la motivación. Microsoft Excel, con su vasta gama de funciones, se convierte en un aliado perfecto para esta tarea. La fórmula que analizaremos a continuación no es una función única, sino una combinación inteligente de varias funciones que trabajan en conjunto para crear un sistema de monitoreo dinámico y eficaz.
Esta construcción te permitirá saber de un vistazo cuántos de tus hábitos has completado en la última semana, mostrando un mensaje de progreso o uno que te anime a seguir intentándolo. Es ideal para incluirla en un dashboard o panel de control personal.
Sintaxis
=SI(SUMAPRODUCTO((rango_hábitos="Completado")*(fecha>=HOY()-7))>0;"Progreso en hábitos: "&SUMAPRODUCTO((rango_hábitos="Completado")*(fecha>=HOY()-7))&" días";"No avances esta semana")
Esta fórmula anida la función SUMAPRODUCTO dentro de una función SI para mostrar un resultado condicional. A continuación, desglosamos cada parte de la fórmula para entender su funcionamiento:
-
SI(…)
Es la función principal que evalúa una condición. Si la condición es verdadera, devuelve un valor; si es falsa, devuelve otro. Su estructura esSI(prueba_lógica; [valor_si_verdadero]; [valor_si_falso]). -
SUMAPRODUCTO(…) > 0
Esta es laprueba_lógica. Comprueba si el número de hábitos completados en los últimos 7 días es mayor que cero. -
SUMAPRODUCTO((rango_hábitos=»Completado»)*(fecha>=HOY()-7))
El corazón de la fórmula.SUMAPRODUCTOmultiplica los elementos de varias matrices y luego suma los resultados. Aquí la usamos para «contar» con múltiples condiciones:(rango_hábitos="Completado"): Crea una matriz de valores VERDADERO (1) o FALSO (0) al comprobar si cada celda en el rango especificado contiene el texto «Completado».(fecha>=HOY()-7): Crea una segunda matriz de VERDADERO (1) o FALSO (0). Comprueba si la fecha en cada celda del rango de fechas es igual o posterior a la fecha de hace 7 días, gracias a la funciónHOY().- El asterisco
*actúa como un operador «Y» lógico, multiplicando las dos matrices. El resultado solo será 1 si ambas condiciones son verdaderas para la misma fila.SUMAPRODUCTOsuma todos los 1, dándonos el recuento total de hábitos completados en la última semana.
-
«Progreso en hábitos: «&…&» días»
Este es elvalor_si_verdadero. Si el conteo es mayor a 0, la fórmula concatena (une) texto para formar un mensaje dinámico como «Progreso en hábitos: 5 días». Se vuelve a calcular elSUMAPRODUCTOpara obtener el número exacto. -
«No avances esta semana»
Este es elvalor_si_falso. Si no se ha completado ningún hábito en los últimos 7 días, se mostrará este mensaje.
Ejemplos
Ejemplo 1: Seguimiento general de hábitos
Imaginemos que tenemos una tabla donde registramos diferentes hábitos diarios. Queremos una celda que nos resuma el progreso de la última semana. Suponiendo que la fecha de hoy es 25/10/2023.
| A | B | C | |
|---|---|---|---|
| 1 | Fecha | Hábito | Estado |
| 2 | 18/10/2023 | Leer | Completado |
| 3 | 19/10/2023 | Hacer ejercicio | Completado |
| 4 | 20/10/2023 | Meditar | Pendiente |
| 5 | 22/10/2023 | Leer | Completado |
| 6 | 23/10/2023 | Hacer ejercicio | Completado |
| 7 | 24/10/2023 | Meditar | Completado |
Aplicaremos la fórmula usando los rangos de nuestra tabla. El rango de fechas es A2:A7 y el de estados es C2:C7.
=SI(SUMAPRODUCTO((C2:C7="Completado")*(A2:A7>=HOY()-7))>0;"Progreso en hábitos: "&SUMAPRODUCTO((C2:C7="Completado")*(A2:A7>=HOY()-7))&" días";"No avances esta semana")
Resultado esperado: Progreso en hábitos: 4 días
La fórmula cuenta los hábitos completados desde el 18/10/2023 en adelante (inclusive). La entrada del día 18/10/2023 se incluye porque HOY()-7 es el 18/10/2023. Las entradas completadas de los días 18, 19, 22, 23 y 24 están dentro del rango, pero la del 18/10/2023 no estaría si la fecha actual fuera posterior. Con fecha de 25/10/2023, las fechas válidas son 19, 22, 23 y 24. El día 18 ya queda fuera. Por tanto, el recuento es 4.
Aplicaciones Prácticas
- 1Dashboards Personales: Crear un panel de control para monitorear objetivos personales, como el ejercicio, la lectura, el estudio o la meditación, y ver el progreso semanal de un solo vistazo.
- 2Gestión de Proyectos: Adaptar la fórmula para hacer un seguimiento de las tareas «Completadas» por un equipo en la última semana, ofreciendo una visión rápida del rendimiento.
- 3Seguimiento de Ventas: Modificar los criterios para contar cuántas ventas se han «Cerrado» en los últimos 7 días, útil para equipos comerciales.
- 4Control de Calidad: Rastrear el número de productos que han pasado la inspección («Aprobado») en la última semana de producción.
Observaciones
Rangos Nombrados: Es altamente recomendable usar rangos con nombre (ej. «Fechas», «Estados») en lugar de referencias estáticas como A2:A7. Esto hace la fórmula mucho más legible y fácil de mantener, especialmente si la tabla de datos crece.
Volatilidad: La función HOY() es «volátil», lo que significa que se recalcula cada vez que se realiza cualquier cambio en la hoja de cálculo. En archivos muy grandes con muchas fórmulas volátiles, esto podría ralentizar el rendimiento.
Sensibilidad de Texto: Las comparaciones de texto en las fórmulas de Excel (como ="Completado") generalmente no distinguen entre mayúsculas y minúsculas. «Completado», «completado» y «COMPLETADO» se contarán por igual, lo que simplifica la entrada de datos.
Errores comunes
-
#¡VALOR!
Este error ocurre si los rangos utilizados dentro deSUMAPRODUCTOno tienen exactamente el mismo tamaño (mismo número de filas y columnas). Por ejemplo, si el rango de fechas esA2:A10y el de hábitos esC2:C11. -
#¿NOMBRE?
Aparece si hay un error tipográfico en el nombre de alguna de las funciones (ej.SUMAPRODUCTen lugar deSUMAPRODUCTO) o si se utiliza un rango nombrado que no ha sido definido previamente en el administrador de nombres.
Alternativas
Aunque la combinación con SUMAPRODUCTO es muy versátil, existen otras formas de lograr un resultado similar, especialmente en versiones más recientes de Excel.
-
=SI(CONTAR.SI.CONJUNTO(rango_hábitos;"Completado";fecha;">="&HOY()-7)>0;"Progreso: "&CONTAR.SI.CONJUNTO(rango_hábitos;"Completado";fecha;">="&HOY()-7)&" días";"Sin avances")Usa la función
CONTAR.SI.CONJUNTO, que está específicamente diseñada para contar celdas que cumplen múltiples criterios. Generalmente, es más eficiente (rápida) queSUMAPRODUCTOpara realizar conteos condicionales. -
=LET(conteo;CONTAR(FILTRAR(fecha;(rango_hábitos="Completado")*(fecha>=HOY()-7)));SI(conteo>0;"Progreso: "&conteo&" días";"Sin avances"))Para usuarios de Microsoft 365, esta es una alternativa moderna y muy legible.
