Saltar al contenido principal

Fórmulas

Los campos de fórmula en los Copera Boards te permiten crear columnas calculadas que derivan sus valores automáticamente a partir de otros datos de tus filas. Impulsados por el Copera Formula Engine — un lenguaje de fórmulas dedicado con su propio analizador y evaluador — puedes construir desde aritmética simple hasta lógica condicional compleja y cálculos de fechas.

Resumen del Lenguaje de Fórmulas

Las fórmulas de Copera usan una sintaxis similar a la de las fórmulas de hoja de cálculo. Cada fórmula se evalúa por fila, con acceso a todos los valores de columna de esa misma fila. El motor de fórmulas admite:

  • Operadores aritméticos: +, -, *, / para operaciones matemáticas
  • Concatenación de cadenas: & para unir valores de texto
  • Operadores de comparación: =, !=, >, <, >=, <=
  • Operadores lógicos: AND, OR, NOT para combinar condiciones
  • Referencias a campos: Referencia otras columnas envolviendo el nombre de la columna entre llaves, p. ej., {Column Name}
  • Funciones anidadas: Las funciones se pueden usar como argumentos de otras funciones

Sintaxis Básica

{Price} * {Quantity}

Esta fórmula multiplica el valor de la columna "Price" por la columna "Quantity" en cada fila.

IF({Status} = "Done", "Complete", "Pending")

Esta fórmula devuelve "Complete" cuando la columna Status es igual a "Done", y "Pending" en caso contrario.

Referencia de Funciones

El Copera Formula Engine ofrece más de 100 funciones organizadas en las siguientes categorías. A continuación se presenta una referencia de las funciones de uso más común.

Funciones Matemáticas

FunciónDescripciónEjemplo
ABS(number)Valor absolutoABS({Balance})
CEIL(number)Redondea hacia arriba al entero más cercanoCEIL({Score} / 10)
FLOOR(number)Redondea hacia abajo al entero más cercanoFLOOR({Price})
ROUND(number, decimals)Redondea a un número de decimales determinadoROUND({Average}, 2)
MIN(a, b, ...)Valor más pequeñoMIN({Estimate}, {Budget})
MAX(a, b, ...)Valor más grandeMAX({Score1}, {Score2})
SUM(a, b, ...)Suma de valoresSUM({Q1}, {Q2}, {Q3}, {Q4})
AVERAGE(a, b, ...)Media aritméticaAVERAGE({Test1}, {Test2})
MOD(number, divisor)Resto de una divisiónMOD({Row Number}, 2)
POWER(base, exponent)Elevar a una potenciaPOWER({Side}, 2)
SQRT(number)Raíz cuadradaSQRT({Area})

Funciones de Texto

FunciónDescripciónEjemplo
CONCAT(a, b, ...)Une valores de textoCONCAT({First Name}, " ", {Last Name})
LEFT(text, count)Extrae desde el inicioLEFT({Code}, 3)
RIGHT(text, count)Extrae desde el finalRIGHT({Phone}, 4)
MID(text, start, count)Extrae desde el medioMID({ID}, 2, 4)
LEN(text)Recuento de caracteresLEN({Description})
LOWER(text)Convierte a minúsculasLOWER({Email})
UPPER(text)Convierte a mayúsculasUPPER({Code})
TRIM(text)Elimina espacios al inicio y al finalTRIM({Input})
REPLACE(text, old, new)Reemplaza ocurrenciasREPLACE({URL}, "http", "https")
SEARCH(find, text)Encuentra la posición de una subcadenaSEARCH("@", {Email})

Funciones de Fecha

El motor de fórmulas se integra con una extensa biblioteca de fechas, que te da acceso a potentes funciones de manipulación y comparación de fechas.

FunciónDescripciónEjemplo
TODAY()Fecha actualTODAY()
NOW()Fecha y hora actualesNOW()
YEAR(date)Extrae el añoYEAR({Created})
MONTH(date)Extrae el mes (1-12)MONTH({Due Date})
DAY(date)Extrae el día del mesDAY({Birthday})
WEEKDAY(date)Día de la semana (0-6)WEEKDAY({Start Date})
WEEKNUM(date)Número de semana del añoWEEKNUM({Created})
QUARTER(date)Trimestre (1-4)QUARTER({Close Date})
DATEADD(date, count, unit)Suma tiempo a una fechaDATEADD({Start}, 14, "days")
DATEDIFF(date1, date2, unit)Diferencia entre fechasDATEDIFF({Start}, {End}, "days")
IS_BEFORE(date1, date2)Comprueba si date1 es anterior a date2IS_BEFORE({Due Date}, TODAY())
IS_AFTER(date1, date2)Comprueba si date1 es posterior a date2IS_AFTER({Due Date}, TODAY())
IS_SAME_DAY(date1, date2)Comprueba si es el mismo díaIS_SAME_DAY({Created}, TODAY())
IS_TODAY(date)Comprueba si la fecha es hoyIS_TODAY({Due Date})
IS_WEEKEND(date)Comprueba si la fecha cae en fin de semanaIS_WEEKEND({Delivery Date})
START_OF_MONTH(date)Primer día del mesSTART_OF_MONTH({Date})
END_OF_MONTH(date)Último día del mesEND_OF_MONTH({Date})
START_OF_WEEK(date)Primer día de la semanaSTART_OF_WEEK({Date})
END_OF_WEEK(date)Último día de la semanaEND_OF_WEEK({Date})
ADD_BUSINESS_DAYS(date, days)Suma solo días hábilesADD_BUSINESS_DAYS({Start}, 5)
DIFF_BUSINESS_DAYS(d1, d2)Días hábiles entre fechasDIFF_BUSINESS_DAYS({Start}, {End})

Funciones Lógicas

FunciónDescripciónEjemplo
IF(condition, then, else)Valor condicionalIF({Amount} > 1000, "High", "Low")
SWITCH(expr, val1, result1, ...)Compara contra varios valoresSWITCH({Priority}, "P0", "Critical", "P1", "High", "Normal")
AND(a, b, ...)Verdadero si todas las condiciones son verdaderasAND({Complete}, {Approved})
OR(a, b, ...)Verdadero si cualquier condición es verdaderaOR({Urgent}, {Overdue})
NOT(value)Invierte un booleanoNOT({Archived})
ISBLANK(value)Comprueba si está vacíoISBLANK({Notes})

Ejemplos Comunes de Fórmulas

Concatenar Nombres

CONCAT({First Name}, " ", {Last Name})

Combina las columnas de nombre y apellido con un espacio en medio.

Calcular Días Hasta el Vencimiento

DATEDIFF(TODAY(), {Due Date}, "days")

Devuelve la cantidad de días restantes hasta la fecha de vencimiento. Los valores negativos indican elementos vencidos.

Etiquetas de Estado Condicionales

IF(IS_BEFORE({Due Date}, TODAY()), "Overdue",
IF(DATEDIFF(TODAY(), {Due Date}, "days") <= 3, "Due Soon", "On Track"))

Devuelve "Overdue" para los elementos vencidos, "Due Soon" para los que vencen dentro de 3 días y "On Track" para todo lo demás.

Cálculo de Porcentaje

ROUND({Completed Tasks} / {Total Tasks} * 100, 1)

Calcula el porcentaje de finalización redondeado a un decimal.

Días Hábiles Restantes

DIFF_BUSINESS_DAYS(TODAY(), {Deadline})

Calcula la cantidad de días laborables (excluyendo los fines de semana) entre hoy y una fecha límite.

Manejo de Errores

Cuando una fórmula contiene errores, Copera muestra un indicador de error en la celda en lugar de un valor. Entre los errores comunes están:

  • Errores de sintaxis — Paréntesis sin pareja, operadores faltantes o nombres de función no reconocidos.
  • Discrepancias de tipo — Intentar realizar aritmética sobre valores de texto u operaciones de fecha sobre números.
  • Referencias nulas — Referenciar una columna que no tiene valor en la fila actual. Usa ISBLANK() para manejar con elegancia los campos opcionales.
  • División por cero — Dividir por una columna que contiene cero. Envuélvela con un IF para comprobar: IF({Total} = 0, 0, {Part} / {Total}).

El editor de fórmulas muestra una vista previa en vivo del resultado a medida que escribes, lo que facilita detectar y corregir errores antes de guardar.

Creación de Fórmulas Asistida por IA

Si no estás seguro de cómo escribir una fórmula, Copera ofrece un asistente de fórmulas impulsado por IA. Describe lo que quieres calcular en lenguaje natural y el asistente generará una fórmula para ti. Puedes revisar, editar y refinar la sugerencia antes de aplicarla a tu columna.

Próximos Pasos

  • Aprende sobre los Campos Calculados para entender en profundidad los campos de Fórmula, Función y Tracker.
  • Configura Automations que se desencadenen según los resultados de las fórmulas.
  • Usa los Filtros y Ordenamiento para filtrar filas por los valores de las columnas de fórmula.