Fórmulas en Airtable: las que uso a diario sin ser técnico (con ejemplos listos para copiar)

Cuando empecé a usar Airtable de forma seria, las fórmulas me intimidaban. Pensaba que eran territorio de gente con conocimientos de programación o de Excel avanzado. Que para un usuario sin perfil técnico era mejor evitarlas y conformarse con los campos básicos.

Estaba equivocado.

Las fórmulas de Airtable son accesibles para cualquier persona. La sintaxis es más sencilla que la de Excel. La documentación oficial es clara. Y el valor que aportan a cualquier base de datos es enorme: automatizan cálculos que de otra forma tendrías que hacer manualmente, combinan información de varios campos en uno solo y añaden lógica condicional que hace tus registros mucho más informativos.

En este artículo te comparto las fórmulas que uso de verdad en mis bases de datos. No las más complejas ni las más impresionantes. Las más útiles en el día a día real.

Cada fórmula viene con la sintaxis exacta que puedes copiar, una explicación de qué hace y el caso de uso donde la aplico.

Cómo crear un campo de fórmula en Airtable

Antes de entrar en las fórmulas concretas, un recordatorio rápido sobre cómo crear este tipo de campo.

En tu tabla de Airtable, haz clic en el símbolo «+» para añadir un nuevo campo. Selecciona el tipo «Formula». Aparecerá un editor donde escribes la fórmula. Debajo del editor, Airtable muestra una vista previa del resultado basada en los datos del primer registro de tu tabla. Cuando estés satisfecho con el resultado, haz clic en «Save».

El campo de fórmula no es editable manualmente. Su valor se calcula automáticamente a partir de la fórmula que definas y se actualiza en tiempo real cuando cambian los campos de los que depende.

Con eso claro, empezamos.


Fórmulas para trabajar con fechas

Las fechas son los datos con los que más fórmulas necesito. Calcular plazos, mostrar cuánto tiempo falta para una entrega, marcar registros vencidos. Aquí están las que más uso.

Días hasta la fecha límite

Esta es probablemente la fórmula que más valor aporta en cualquier base de datos de gestión de proyectos o tareas.

DATETIME_DIFF({Fecha límite}, TODAY(), 'days')

Qué hace: Calcula la diferencia en días entre la fecha límite del registro y el día de hoy. Si el resultado es positivo, faltan esos días para la entrega. Si es negativo, el plazo ya venció hace esos días.

Cómo lo uso: Tengo este campo en mi base de datos de proyectos. De un vistazo en la cuadrícula veo cuántos días quedan para cada entrega. Los números negativos —en rojo si configuro el formato de color— me alertan de proyectos vencidos sin necesidad de revisar las fechas una por una.

Variación útil: Si quieres mostrar un texto más descriptivo en lugar de un número:

IF(
  DATETIME_DIFF({Fecha límite}, TODAY(), 'days') < 0,
  "⚠️ Vencido hace " & ABS(DATETIME_DIFF({Fecha límite}, TODAY(), 'days')) & " días",
  IF(
    DATETIME_DIFF({Fecha límite}, TODAY(), 'days') = 0,
    "🔴 Vence HOY",
    "✅ Faltan " & DATETIME_DIFF({Fecha límite}, TODAY(), 'days') & " días"
  )
)

Esta versión muestra un texto con emoji según el estado: vencido, vence hoy o días restantes. Es más visual que un número simple y más informativa de un vistazo.

Semana del año de un registro

WEEKNUM({Fecha de creación})

Qué hace: Devuelve el número de semana del año correspondiente a cualquier campo de fecha. La semana 1 es la primera semana de enero, la semana 52 es la última de diciembre.

Cómo lo uso: En mi calendario editorial, este campo me permite agrupar el contenido por semana en la vista de cuadrícula. En lugar de ver una lista larga de registros ordenados por fecha, los veo agrupados en bloques semanales que es mucho más natural para planificar.

Mes y año formateado

DATETIME_FORMAT({Fecha}, 'MMMM YYYY')

Qué hace: Extrae el mes y el año de cualquier campo de fecha y los muestra en formato de texto. Por ejemplo, si la fecha es 15 de marzo de 2025, esta fórmula devuelve «March 2025» en inglés o «marzo 2025» si configuras el locale adecuado.

Cómo lo uso: Para agrupar registros por mes en mis vistas de cuadrícula. Muy útil en bases de datos de facturación, seguimiento de métricas mensuales o cualquier tabla donde la agrupación mensual tiene sentido.

Nota: Airtable usa nombres de meses en inglés por defecto. Si necesitas los meses en español, hay un workaround con una fórmula más larga que usa SWITCH para traducir cada mes, pero para la mayoría de casos el inglés es perfectamente funcional.


Fórmulas para combinar y transformar texto

Concatenar nombre y apellido

{Nombre} & " " & {Apellido}

Qué hace: Combina el contenido de dos campos de texto con un espacio entre ellos. La más simple de todas las fórmulas de Airtable y una de las más usadas.

Cómo lo uso: En bases de datos de contactos donde tengo el nombre y el apellido en campos separados —para poder ordenar por apellido— pero quiero mostrar el nombre completo en un solo campo para usarlo en comunicaciones o exportaciones.

Variación con formato para emails:

{Nombre} & " " & {Apellido} & " <" & {Email} & ">"

Esta variación genera una cadena de texto con el formato estándar para destinatarios de email: «Juan García juan@empresa.com«. Muy útil cuando exportas contactos para importar en un cliente de correo.

Capitalizar la primera letra de cada palabra

PROPER({Nombre del producto})

Qué hace: Convierte el texto de un campo a formato título, con la primera letra de cada palabra en mayúscula y el resto en minúscula. «producto de limpieza del hogar» se convierte en «Producto De Limpieza Del Hogar».

Cómo lo uso: Para normalizar datos que vienen de formularios donde los usuarios no siempre escriben con coherencia de mayúsculas. En catálogos de productos, directorios de contactos o cualquier base de datos donde la consistencia visual importa.

Extraer el dominio de un email

MID({Email}, FIND("@", {Email}) + 1, LEN({Email}))

Qué hace: Extrae la parte del email que va después de la arroba. Si el email es «juan@empresa.com«, la fórmula devuelve «empresa.com».

Cómo lo uso: En bases de datos de clientes o prospectos, este campo me permite agrupar contactos por empresa aunque no tenga un campo de empresa rellenado. También me permite identificar rápidamente contactos de la misma organización cuando tienen emails corporativos del mismo dominio.

Truncar texto largo para vistas resumidas

IF(LEN({Descripción}) > 100, LEFT({Descripción}, 100) & "...", {Descripción})

Qué hace: Si el campo Descripción tiene más de 100 caracteres, muestra solo los primeros 100 seguidos de puntos suspensivos. Si tiene 100 o menos caracteres, muestra el texto completo.

Cómo lo uso: En vistas de galería o Kanban donde quiero ver un resumen de la descripción de cada registro sin que las tarjetas sean enormes. El texto truncado da suficiente contexto para identificar cada registro sin ocupar demasiado espacio visual.


Fórmulas con lógica condicional

Semáforo de estado según fecha

IF(
  {Fecha límite} = BLANK(), "⚪ Sin fecha",
  IF(
    IS_BEFORE({Fecha límite}, TODAY()), "🔴 Vencido",
    IF(
      DATETIME_DIFF({Fecha límite}, TODAY(), 'days') <= 3, "🟡 Urgente",
      "🟢 En plazo"
    )
  )
)

Qué hace: Evalúa la fecha límite de cada registro y asigna uno de cuatro estados con emoji de color. Rojo si está vencido, amarillo si vence en tres días o menos, verde si está en plazo y gris si no tiene fecha asignada.

Cómo lo uso: Este es uno de los campos más visuales de mi sistema de gestión de proyectos. En la vista de cuadrícula, la columna de semáforo me permite identificar de un vistazo qué proyectos necesitan atención urgente sin tener que leer ni calcular fechas manualmente.

Calcular el margen de beneficio

ROUND(({Precio de venta} - {Coste}) / {Precio de venta} * 100, 1) & "%"

Qué hace: Calcula el margen de beneficio como porcentaje y lo muestra con un decimal seguido del símbolo de porcentaje. Si el precio de venta es 100 y el coste es 60, la fórmula devuelve «40.0%».

Cómo lo uso: En bases de datos de productos o servicios donde quiero ver el margen de cada línea sin tener que calcularlo manualmente. También en seguimiento de proyectos facturados donde tengo el importe cobrado al cliente y mis costes asociados.

Clasificar registros automáticamente por valor

IF(
  {Importe} >= 5000, "A - Gran cuenta",
  IF(
    {Importe} >= 1000, "B - Cuenta media",
    "C - Cuenta pequeña"
  )
)

Qué hace: Clasifica automáticamente cada registro en una categoría según el valor de un campo numérico. En este ejemplo, clientes o proyectos por importe. Pero la lógica se aplica a cualquier clasificación basada en rangos numéricos.

Cómo lo uso: En mi base de datos de clientes para segmentarlos automáticamente según el volumen de negocio que representan. Esa segmentación automática me permite crear vistas filtradas para cada categoría sin tener que clasificar manualmente cada cliente cuando cambia su nivel de facturación.

Mostrar el tiempo transcurrido desde la creación

IF(
  DATETIME_DIFF(TODAY(), {Fecha de creación}, 'days') = 0,
  "Hoy",
  IF(
    DATETIME_DIFF(TODAY(), {Fecha de creación}, 'days') = 1,
    "Ayer",
    DATETIME_DIFF(TODAY(), {Fecha de creación}, 'days') & " días"
  )
)

Qué hace: Muestra cuánto tiempo ha pasado desde que se creó el registro en formato legible. «Hoy», «Ayer» o «N días».

Cómo lo uso: En bases de datos de leads o solicitudes de presupuesto, este campo me muestra de un vistazo cuánto tiempo lleva cada solicitud sin atender. Un lead que lleva «12 días» en mi base de datos sin respuesta es una señal de alerta visual que no podría ver tan fácilmente sin esta fórmula.


Fórmulas para campos de selección

Convertir una selección a texto para concatenar

IF({Prioridad} = "Alta", "🔴", IF({Prioridad} = "Media", "🟡", "⚪")) & " " & {Nombre de la tarea}

Qué hace: Combina el emoji correspondiente a la prioridad del registro con el nombre de la tarea. El resultado es un texto que muestra la prioridad de forma visual junto al nombre.

Cómo lo uso: Como campo de nombre compuesto en vistas donde quiero ver la prioridad integrada en el nombre sin necesidad de tener una columna separada de prioridad visible. Útil especialmente en vistas de galería y Kanban donde el espacio es limitado.

Contar cuántas opciones están seleccionadas en un campo múltiple

IF({Plataformas} != BLANK(), LEN({Plataformas}) - LEN(SUBSTITUTE({Plataformas}, ",", "")) + 1, 0)

Qué hace: Cuenta cuántas opciones están seleccionadas en un campo de selección múltiple contando las comas que separan los valores y añadiendo uno.

Cómo lo uso: En mi calendario editorial, el campo «Plataformas» es de selección múltiple con las redes donde publico cada pieza de contenido. Esta fórmula me muestra cuántas plataformas tiene cada publicación. Con ese número puedo filtrar y priorizar el contenido que tiene mayor alcance potencial —el que se publica en más plataformas—.


Dos consejos para trabajar mejor con fórmulas en Airtable

Después de meses usando fórmulas en distintas bases de datos, tengo dos aprendizajes que me hubiera gustado tener desde el principio.

Prueba siempre con datos reales antes de confiar en la fórmula. La vista previa del editor de fórmulas usa el primer registro de tu tabla. Si ese registro tiene campos vacíos o valores atípicos, la vista previa puede ser engañosa. Una vez guardada la fórmula, revisa varios registros con distintos valores para asegurarte de que el resultado es correcto en todos los casos.

Nombra los campos de fórmula de forma descriptiva y diferenciada. Cuando tienes varios campos de fórmula en una tabla, es fácil confundirse sobre qué calcula cada uno si los nombres son genéricos. Uso una convención personal: los campos de fórmula siempre empiezan con un símbolo específico —en mi caso, el símbolo ƒ— para distinguirlos visualmente de los campos normales. «ƒ Días restantes», «ƒ Margen %», «ƒ Estado semáforo». De un vistazo sé qué campos son calculados y cuáles son de entrada de datos.

Con esas dos prácticas y las fórmulas de esta guía, tienes material suficiente para transformar cualquier base de datos básica en un sistema que trabaja solo y te da información accionable sin esfuerzo manual.

Por Joan

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *