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.