Fórmulas avanzadas en Notion: combinar funciones para resolver problemas reales
Las fórmulas del módulo anterior cubrían los fundamentos. Este módulo las lleva más lejos: anidando condiciones, mezclando tipos de datos y creando indicadores visuales que hacen las bases de datos más legibles de un vistazo.
if() anidados para semáforos y estados
Uno de los usos más prácticos de los if() anidados es crear indicadores de prioridad o urgencia visualmente claros. En vez de mostrar solo el nombre de la prioridad, devuelves un emoji o un símbolo que comunica de inmediato el estado.
if(prop("Prioridad") == "Alta", "🔴 Urgente",
if(prop("Prioridad") == "Media", "🟡 Normal",
if(prop("Prioridad") == "Baja", "🟢 Baja", "Sin prioridad")))
La misma técnica funciona para estados de progreso, etapas de un proyecto o cualquier propiedad con un número fijo de valores posibles.
Combinar texto, números y fechas
La función format() es imprescindible cuando necesitas incluir un número o una fecha dentro de una cadena de texto. Sin ella, Notion devuelve un error de tipo.
"Duración: " + format(dateBetween(prop("Fecha fin"), prop("Fecha inicio"), "days")) + " días"
Esta fórmula construye una oración completa: el número de días calculado queda integrado dentro del texto gracias a format().
Etiquetas de urgencia basadas en fechas
Puedes construir una fórmula que categorice automáticamente las tareas según cuánto tiempo queda para la fecha límite:
if(dateBetween(prop("Fecha límite"), now(), "days") < 0, "⛔ Vencida",
if(dateBetween(prop("Fecha límite"), now(), "days") <= 3, "🔴 Inminente",
if(dateBetween(prop("Fecha límite"), now(), "days") <= 7, "🟡 Esta semana", "🟢 Con margen")))
El resultado es una columna que muestra la urgencia real de cada tarea en tiempo real, sin actualización manual.
Fórmulas condicionales con casillas
Las casillas de verificación devuelven true o false en las fórmulas, lo que las hace perfectas para condiciones:
if(prop("Completada"), "✓ Hecho", "Pendiente")
O para calcular solo si la tarea no está completada:
if(not prop("Completada"), dateBetween(prop("Fecha límite"), now(), "days"), 0)
Depurar fórmulas
Cuando una fórmula devuelve un error, la estrategia más efectiva es reducirla a su mínima expresión y añadir complejidad gradualmente. Si tienes una fórmula larga que falla, comienza probando solo la función más interna y ve añadiendo capas una a una hasta localizar dónde está el problema.
Los errores más comunes son mezclar tipos incompatibles (texto con número sin format()) y referenciar propiedades con nombres que no coinciden exactamente con los de la base de datos (respeta mayúsculas y espacios).