Las fórmulas en Ragic funcionan de manera similar a las hojas de cálculo de Excel. En Excel, se hace referencia a las celdas que contienen el valor del campo. Sin embargo, en Ragic, asignamos las fórmulas haciendo referencia al campo que contiene el encabezado de campo. Esto se debe a que las subtablas en Ragic permiten que múltiples celdas contengan valores de campo bajo un solo campo.
Las fórmulas pueden ser usadas para calcular no sólo números, sino también cadenas y fechas. Ragic intentará determinar automáticamente el tipo de fórmula que necesitas, pero es más eficiente si especificas el Tipo de Campo (ej. Número o Fecha) para asegurar precisión.
Para asignar una fórmula a un encabezado de campo desde su formulario, vaya al Modo Diseño y seleccione el encabezado de campo. Desde la configuración de Campo en la parte izquierda, ingresa la fórmula en la pestaña Fórmula.
Por ejemplo, en la hoja "Orden de venta", si la fórmula para el campo "Importe a pagar" (A20) es "Total (A17) + Impuestos (A19)", deberá ingresar "A17+A19" en esa celda. Tenga en cuenta que la fórmula debe indicar la ubicación de los encabezados de campo.

Se mostrará el ícono fx() en el campo asignado con la fórmula.

Al hacer clic en el ícono, el sistema automáticamente resaltará todos los campos referenciados en esa fórmula.

Para ver la lista de fórmulas disponibles en Ragic, puedes ver a continuación.
Nota: El tipo de campo "Selección Múltiple" no puede ser configurado como campo de referencia en fórmulas.
Cuando no sepas cómo crear fórmulas, puedes especificar la regla que desees en el Generador de fórmulas. Deja que la IA te ayude a generarlo.
Nota: El servidor privado on-premise requiere un parámetro para habilitar esta función. Vea esta sección para detalles.
Ten en cuenta:
1. Describe las reglas y especifica el valor de retorno esperado para este campo. Por ejemplo: devolver la fecha de hoy.
2. Si deseas incluir texto en tu fórmula, escríbelo entre comillas dobles. Por ejemplo: "Fecha de transacción".
3. Después de configurar la fórmula, verifica manualmente si los resultados son los esperados.
Para abrir la interfaz del Generador de fórmulas, haz clic en Solicitar ayuda de la IA para fórmulas a continuación.

Ingresa las reglas y haz clic en Generar fórmula.

A continuación, se muestran algunos escenarios predeterminados que puedes seleccionar e ingresar los campos según tu hoja, incluyendo fórmulas regulares y fórmulas de aprobación.
Por ejemplo, si deseas que el campo "Entrega gratuita" devuelva "Sí" cuando el "Total" sea mayor que el "Cantidad de entrega gratuita" y "No" en caso contrario, puedes elegir "Si E21 es mayor que A19, devuelva 'Y'; de lo contrario, devolverá 'N'" y luego modifícalo para que coincida con los campos relevantes y los valores de retorno.

Después de completar, haz clic en Generar fórmula para generar la fórmula correspondiente a continuación. Haz clic en el icono "copiar" al lado de la fórmula para ingresar la fórmula automáticamente.

Los operadores especifican el tipo de calculación que se realizará en los argumentos de la fórmula. Hay un orden predeterminado en el cual las calculaciones están programadas para efectuarse, pero puedes cambiar este orden al usar paréntesis "()".
Nota: Al contrario de Excel, Ragic no permite el uso de los dos puntos ":" como operador de referencia para combinar rangos de celdas.
Para realizar operaciones matemáticas básicas tales como adición, sustracción, o multiplicación y producir resultados numéricos, puedes usar los siguientes operadores:
| Operador Aritmético | Significado | Ejemplo |
|---|---|---|
| + (Signo de Suma) | Adición | 3+3 |
| – (Signo de Resta) | Sustracción | 3–1 |
| * (Asterisco) | Multiplicación | 3*3 |
| / (Pleca o barra) | División | 3/3 |
| ^ (caret) | Exponenciación | 3^2 |
Puedes comparar dos valores con los siguientes operadores. Cuando dos valores son comparados usando estos operadores, el resultado será un valor lógico ya sea TRUE o FALSE que pueda ser usado en fórmulas condicionales.
| Operador de Comparación | Significado | Ejemplo |
|---|---|---|
| = | Igual a | A1=B1 |
| == | Igual a | A1==B1 |
| Mayor que | A1>B1 | |
| <</td> | Menor que | A1 |
| Mayor o igual a | A1>=B1 | |
| <= | Menor o igual a | A1<=B1 |
| != | No es igual a | IF(A1!=B1,'si','no') |
| <> | No es igual a | IF(A1<>B1,'si','no') |
Para crear fórmulas en cadena puedes usar comillas simples 'Comillas Simples' o "Comillas Dobles". En este documento usaremos cadenas de 'Comillas Simples' por consistencia, pero ambos formatos son aceptables en Ragic.
A continuación se muestra la lista de fórmulas y categorías admitidas en Ragic. Ten en cuenta que las siguientes fórmulas distinguen entre mayúsculas y minúsculas.
1. Fórmulas de Calculaciones Numéricas
6. Fórmulas de Campos de Selección Múltiple
Fórmulas para calcular valores numéricos y cantidades, como obtener sumas, promedios, valores máximos y mínimos, etc. Para más detalles, consulta esta sección.
| Fórmula | Descripción |
|---|---|
| SUM(valor1,[valor2],...) | Devuelve la suma de todos los valores de los campos. También puedes usar directamente el formato valor+valor2+... para representarlo. |
| AVG(valor1, valor2,...) | Devuelve el promedio (media aritmética) de todos los valores de los campos listados. Tenga en cuenta que esta función también funciona para subtablas, donde se sumará al cálculo el promedio de todos los valores de los campos referenciados. Funciona igual que la función AVERAGE |
| AVERAGE(valor1, valor2,...) | Devuelve el promedio (media aritmética) de todos los valores de los campos listados. Tenga en cuenta que esta función también funciona con subtablas, donde se sumará al cálculo el promedio de todos los valores de los campos referenciados. Funciona igual que la función AVG |
| MIN(valor) | Devuelve el valor mínimo en conjunto de valores de campo. Esta función también funciona con subtablas. |
| MAX(valor) | Devuelve el mayor valor de un conjunto de valores. Esta función también funciona con subtablas. |
| MODE.SNGL(valor1,[valor2],...) | Devuelve el valor más común en un rango de valores de campo. Esta función funciona con campos independientes, subtablas y constantes globales. |
| MODE.MULT(valor1,[valor2],...) | Devuelve varios de los valores más comunes en un rango de valores de campo. Esta función funciona con campos independientes, subtablas y constantes globales. |
| ABS(valor) | Devuelve el valor absoluto de un número. El valor absoluto de un número es el número sin su signo. |
| CEILING(valor,[significancia]) | Redondea el número hacia arriba, alejándose de cero, al múltiplo de significancia más cercano. La significancia es opcional; si no se especifica, se redondea hacia arriba al entero más cercano. Ejemplo: CEILING(2.5) devolverá 3; CEILING(1.5, 0.1) devolverá 1.5. |
| FLOOR(valor,[significancia]) | Redondea el número hacia abajo, hacia cero, al múltiplo de significancia más cercano. La significancia es opcional; si no se especifica, se redondea hacia abajo al entero más cercano. Ejemplo: FLOOR(2.5) devolverá 2. FLOOR(1.58, 0.1) devolverá 1.5. |
| ROUND(valor) | Redondea un número al entero más cercano. |
| ROUND(valor,N) | Redondea un número a N decimales. |
| ROUNDUP(valor,N) | Redondea un número hacia arriba (alejándose de cero) a N decimales. |
| ROUNDDOWN(valor,N) | Redondea un número hacia abajo (hacia cero) a N decimales. |
| MROUND(número,N) | Redondea un número al múltiplo de N más cercano |
| SQRT(valor) | Devuelve la raíz cuadrada de un número. |
| COUNT(valor1,valor2,...) | Devuelve el número total de valores del campo. Los valores vacíos no se contabilizarán al hacer referencia a campos independientes, pero sí al hacer referencia a campos de subtabla. |
| PI() | Devuelve el número 3,14159265358979, la constante matemática pi, y la razón entre la circunferencia de un círculo y su diámetro, con una precisión de 15 dígitos. |
| RAND() | Devuelve un número real aleatorio distribuido uniformemente, mayor o igual a 0 y menor que 1. Se devuelve un nuevo número real aleatorio cada vez que se calcula la hoja de cálculo. Para más detalles, haz clic aquí |
| POWER(valor,potencia) | Devuelve el resultado de un valor numérico elevado a potencia. |
| MOD(valor,divisor) | Devuelve el residuo de dividir un número entre un divisor. El resultado tiene el mismo signo que el divisor. Para más detalles, haz clic aquí |
| GDC(valor1,[valor2],...) | Devuelve el máximo común divisor de dos o más enteros. El máximo común divisor es el entero más grande que divide el número especificado de valores sin dejar residuo. Para más detalles, haz clic aquí |
| LCM(valor1,[valor2],...) | Devuelve el mínimo común múltiplo de enteros. El mínimo común múltiplo es el entero positivo más pequeño, que es un múltiplo de todos los argumentos enteros valor1, valor2, etc. Usa LCM para sumar fracciones con diferentes denominadores. Para más detalles, haz clic aquí |
| PRODUCT() | Multiplica todos los valores numéricos de los campos referenciados (sin considerar los valores vacíos ni de texto). También puede referenciar un campo de subtabla para multiplicar todos los valores numéricos de ese campo. Para más detalles, haz clic aquí |
| PMT(tasa, nper, pv, [fv], [tipo]) | Calcula el pago de un préstamo.
tasa (Requerido): El tipo de interés. |
Fórmulas para obtener datos relacionados con fecha y hora, cómo devolver el año, mes, día, hora o días laborables específicos. Para más detalles, consulta esta sección.
| Fórmula | Descripción |
|---|---|
| TODAY() | Devuelve la fecha actual. En caso de recálculo diario automático, reemplaza TODAY() por TODAYTZ(). |
| TODAYTZ() | Devuelve la fecha actual según la Zona horaria local de la empresa de la Configuración de la cuenta. |
| NOW() | Devuelve la fecha y hora actuales. |
| NOWTZ() | Devuelve la fecha y hora actuales según la Zona horaria local de la empresa de la Configuración de la cuenta. |
| EDATE(fecha_inicio, meses) | Devuelve el número de serie que representa la fecha que es el número indicado de meses antes o después de una fecha especificada (la fecha_inicio). Para detalles, haz clic aquí. |
| EOMONTH(fecha_de_inicio, meses) | Devuelve el número de serie del último día del mes, que corresponde a un número específico de meses anterior o posterior a fecha_de_inicio. Para detalles, haz clic aquí |
| YEAR() | Devuelve el valor del año de un campo de fecha |
| MONTH() | Devuelve el valor del mes de un campo de fecha |
| DAY() | Devuelve el valor del día de un campo de fecha |
| DATE(año,mes,día) | Combina los valores de los campos numéricos referenciados para formar una fecha. Utilice años de cuatro dígitos para evitar confusiones. |
| WEEKDAY() | Devuelve el día de la semana, utilizando los números del 1 (domingo) al 7 (sábado). |
| WORKDAY(fecha_inicio,días,[núm_de_fin_de_semana],["días_festivos"], ["días_de reposición"]) | Devuelve un número que representa una fecha que corresponde al número indicado de días laborables anteriores o posteriores a una fecha dada. Para detalles, haz clic aquí |
| WORKDAY.INTL(fecha_inicio,días,[núm_fin_de_semana],["días_festivos"], ["días_de reposición"]) | Devuelve el número de serie de la fecha anterior o posterior a un número específico de días laborables con parámetros de fin de semana personalizados. Para detalles, haz clic aquí |
| NETWORKDAYS(fecha_inicio,fecha_fin,["día festivos"], ["días_de_reposición"]) | Devuelve el número de días laborables completos entre una fecha de inicio y una fecha de fin. Para más detalles, haz clic aquí. |
| NETWORKDAYS.INTL(fecha_inicio, fecha_fin,[núm_fin_semana],["días_festivos"], ["días_de reposición"]) | Devuelve el número de días laborables completos entre dos fechas utilizando parámetros para indicar cuáles y cuántos días son fines de semana. Para más detalles, haz clic aquí. |
| ISOWEEKNUM(fecha) | Devuelve el número de semana ISO del año para una fecha determinada. Cada semana comienza el lunes. |
| WEEKNUM(Fecha,[tipo_de_devolución] | Devuelve el número de semana de una fecha específica de ese año. Puede definir el día de inicio de la semana. Para detalles, haz clic aquí. |
| DATEVALUE(texto_de_fecha,formato_de_fecha) | Se aplica a campos de fecha (hora), puede convertir una fecha referenciada de un campo de texto libre en un valor de fecha (hora). Para esta fórmula, "texto_de_fecha" es la fecha en un campo de texto libre al que hará referencia, y "formato_de_fecha" es el formato del campo referenciado con la fecha. Por ejemplo, si A1 es un campo de texto libre con el valor "2019/02/01" y desea convertirlo a un valor en el campo de fecha, puede usar la fórmula DATEVALUE(A1,"yyyy/MM/dd") en el campo de fecha para obtener el resultado convertido. |
| HOUR() | Hay tres maneras de usar esta fórmula:
1. Al establecer el parámetro como un valor numérico entre 0 y 1, se obtendrá el número de horas con respecto a la proporción de 24 horas definida por el parámetro. Por ejemplo: HOur(0.5)=12. 2. Al establecer el parámetro como un campo de fecha, se obtendrá el valor de la hora del campo. Por ejemplo, si el valor del campo A9 es 2020/10/30 18:30:19, HOUR(A9)=18. 3. Al establecer el parámetro como una fecha, se obtendrá el valor de la hora. Por ejemplo, HOUR(“2020/10/13 17:35:22”)=17. |
| MINUTE() | Hay tres maneras de usar esta fórmula:
1. Al establecer el parámetro como un valor numérico entre 0 y 1, se obtendrá el número de minutos con respecto a la proporción de 60 minutos definida por el parámetro. Por ejemplo: MINUTE(0.5)=30 2. Al establecer el parámetro como un campo de fecha, se obtendrá el valor en minutos del campo. Por ejemplo, si el valor del campo A9 es 2020/10/30 18:50:19, MINUTE(A9)=50. 3. Al establecer el parámetro como una fecha, se obtendrá el valor en minutos. Por ejemplo, MINUTE(“2020/10/13 17:35:22”)=35. |
| SECOND() | Hay tres maneras de usar esta fórmula:
1. Al establecer el parámetro como un valor numérico entre 0 y 1, se obtendrá el número de segundos con respecto a la proporción de 60 segundos definida por el parámetro. Por ejemplo: SECOND(0.5)=30 2. Al establecer el parámetro como un campo de fecha, se obtendrá el valor en segundos del campo. Por ejemplo, si el valor del campo A9 es 2020/10/30 18:50:19, SECOND(A9)=19. 3. Al establecer el parámetro como una fecha, se obtendrá el valor en segundos. Por ejemplo, SECOND(“2020/10/13 17:35:22”)=22. |
| TIME(hora, minuto, segundo) | El número decimal devuelto por TIEMPO es un valor de 0 (cero) a 0,99988426, que representa las horas desde las 0:00:00 (12:00:00 a. m.) hasta las 23:59:59 (11:59:59 p. m.).
Hora: Un número de 0 (cero) a 32767 que representa la hora. Cualquier valor mayor que 23 se dividirá entre 24 y el resto se considerará el valor de la hora. Por ejemplo, TIME(27,0,0) = TIME(3,0,0) = 0,125 o 3:00 a. m. Minuto: Un número de 0 a 32767 que representa el minuto. Cualquier valor mayor que 59 se convertirá a horas y minutos. Por ejemplo, HOUR(0,750,0) = HOUR(12,30,0) = 0,520833 o 12:30 p. m. Segundo: Un número del 0 al 32767 representa el segundo. Cualquier valor mayor que 59 se convertirá a horas, minutos y segundos. Por ejemplo, HOUR(0,0,2000) = HOUR(0,33,22) = 0,023148 o 12:33:20 a. m. |
Fórmulas para obtener cadenas de valores de campo o verificar el contenido de un campo, cómo obtener caracteres de cadena, cambiar mayúsculas y minúsculas, verificar valores nulos, etc. Para más detalles, consulta esta sección.
| Fórmula | Descripción |
|---|---|
| LEFT(valor,longitud) | Devuelve el primer carácter o los primeros caracteres (desde el lado izquierdo) de una cadena de texto, según la longitud especificada.
Ejemplo: Si la longitud es 3, devolverá los 3 caracteres más a la izquierda. Para más detalles, haz clic aquí. |
| RIGHT(valor,longitud) | Devuelve el último carácter o los últimos caracteres (desde el lado derecho) de una cadena de texto, según el número de caracteres (longitud) especificado.
Ejemplo: Si la longitud es 3, devolverá los 3 caracteres más a la derecha. Para más detalles, haz clic aquí. |
| MID(valor,inicio,[longitud]) | Extrae una cantidad determinada de caracteres del centro de una cadena de texto proporcionada. Para el carácter inicial, el primer carácter del campo referenciado se especificará como 0. Por ejemplo, si el valor del campo A1 es ABCD, al establecer la fórmula como MID(A1,1,2) en otro campo, se devolverá BC. Para más detalles, haz clic aquí |
| FIND((encontrar_texto, en_texto,[núm. inicial]) | Localiza una cadena de texto dentro de una segunda cadena de texto y devuelve el número de la posición inicial de la primera cadena de texto a partir del primer carácter de la segunda. Para más detalles, haz clic aquí | .
| LEN(valor) | Devuelve el número de caracteres de una cadena de texto. Para más detalles, haz clic aquí. |
| UPPER(valor)/TOUPPERCASE(valor) | Convierte todas las letras minúsculas en una cadena de texto a mayúsculas sin cambiar la cadena original. |
| LOWER(valor)/TOLOWERCASE(valor) | Convierte todas las letras mayúsculas de una cadena de texto a minúsculas sin cambiar la cadena original. |
| PROPER(valor) | Escribe en mayúscula la primera letra de una cadena de texto y cualquier otra letra de un texto que siga a cualquier carácter que no sea una letra. Convierte todas las demás letras a minúsculas. |
| SUBSTITUTE(texto,texto_anterior,texto_nuevo,[núm_instancia]) | Sustituye texto_anterior por texto_nuevo cuando se desea reemplazar texto específico en una cadena de texto. |
| TEXT() | Formatea un valor numérico o de fecha en un formato específico. Para detalles, haz clic aquí. |
| REPT(valor,número_de_veces) | Devuelve el valor repetido un número determinado de veces. Para detalles, haz clic aquí. |
| SPELLNUMBER(número, [idioma]) | Verás números escritos con palabras en algunos documentos formales. Por ejemplo, usa "cien" en lugar de "100". Puedes usar la fórmula SPELLNUMBER si necesita ver los números con palabras en sus hojas de cálculo. Para más detalles, clic aquí. |
| TRIM() | Elimina espacios de ancho completo y medio ancho al principio y al final de un valor de campo. Si hay varios espacios de ancho completo y medio ancho entre textos, solo conservará el primer espacio. Ejemplo: TRIM(" a c ") obtendrá "a c". |
| CHAR(valor) | Devuelve un carácter cuando se le proporciona un código de carácter válido. Por ejemplo, CHAR(10) devuelve un salto de línea y CHAR(32) devuelve un espacio. |
| ISBLANK() | Comprueba si el campo referenciado está vacío. Puedes referenciar directamente campos específicos o usarlos en fórmulas condicionales. Por ejemplo, ISBLANK(A2) o IF(ISBLANK(A2), 'Y', 'N'). |
Fórmulas que devuelven valores de campo según condiciones específicas, por ejemplo, devolver “Sí” cuando se cumple la condición o sumar los valores de los campos que coinciden con los criterios. Para más detalles, consulta esta sección.
| Fórmula | Descripción |
|---|---|
| IF(valor==condición,valor_si_true,valor_si_falso) | Devuelve un valor si la condición se evalúa como VERDADERA u otro valor si la condición se evalúa como FALSO. Para más detalles, haz clic aquí. |
| IFS(valor=condición1,valor_si_es_verdadero1,valor=condición2,valor_si_es_verdadero2,...,verdadero,valor predeterminado) | Comprueba si se cumplen una o más condiciones y devuelve un valor que corresponda a la primera condición VERDADERA. Para más detalles, haz clic aquí. |
| LOOKUP(valor,lista_de_búsqueda,[lista_de_resultados]) | Busca el valor en un rango de una columna o una fila (lista_de_búsqueda) y devuelve el valor correspondiente de otro rango de una columna o una fila (lista_de_resultados). Para más detalles, haz clic aquí. |
| AND(lógica1, [lógica2], ...) | Devuelve TRUE si todas sus condiciones son VERDADERAS; devuelve FALSE si una o más condiciones son FALSAS. Para más detalles, haz clic aquí. |
| OR(lógica1, [lógica2], ...) | Devuelve TRUE si alguna condición es VERDADERA; devuelve FALSE si todas las condiciones son FALSAS. Para más detalles, haz clic aquí. |
| NOT(lógica) | Devuelve TRUE si la condición de prueba es FALSA y FALSE si la condición es VERDADERA. Para más detalles, haz clic aquí. |
| UPDATEIF(condición,valor_si_es_verdadero) | Modifica el valor de un campo cuando se cumple al menos una condición. Para más detalles, haz clic aquí |
| COUNTIF(rango_criterios;criterios) | Devuelve el número de valores de un rango dentro de un campo de subtabla que cumplen un único criterio especificado. Para más detalles, haz clic aquí. |
| COUNTIFS(rango_criterios1,criterios1,[rango_criterios2,criterios2]...) | Aplica criterios a campos de varios rangos y cuenta el número de veces que se cumplen todos los criterios. Para obtener más información, haz clic aquí. |
| SUMIF(rango,criterios,[rango_suma]) | Devuelve la suma de los valores de un rango que cumplen un único criterio especificado. Para obtener más información, haz clic aquí. |
| SUMIFS(rango_suma,rango_criterios1,criterios1,[rango_criterios2, criterios2],...) | Suma todos los argumentos que cumplen los criterios especificados. Para más detalles, haz clic aquí. |
| MAXIFS(rango_máximo, rango_criterios1, criterios1, [rango_criterios2, criterios2], ...) | Devuelve el valor máximo entre las celdas especificadas por un conjunto dado de condiciones o criterios. Para más detalles, haz clic aquí. |
| MINIFS(rango_mín, rango_criterios1, criterios1, [rango_criterios2, criterios2], ...) | Devuelve el valor mínimo entre las celdas especificadas por un conjunto dado de condiciones o criterios. Para más detalles, haz clic aquí |
Fórmulas para obtener datos relacionados con los campos de una subtabla, cómo devolver un registro específico de una subtabla, recuperar el número de filas de una subtabla únicas o no vacías, etc. Para más detalles, consulta esta sección.
| Fórmula | Descripción |
|---|---|
| FIRST(valor) | Devuelve el primer dato de la columna de la subtabla. Para detalles, haz clic aquí |
| FIRSTA(valor) | Devuelve el primer dato de la columna de la subtabla que no está vacío. Para detalles, haz clic aquí |
| LAST(valor) | Devuelve el último dato de la columna de la subtabla. Para detalles, haz clic aquí |
| LASTA(valor) | Devuelve el último dato de la columna de la subtabla que no está vacío. Para detalles, haz clic aquí |
| SUBTABLEROW(valor,núm_de_fila) | Devuelve los datos de destino de la columna de la subtabla; esto solo se puede configurar en campos independientes. Para detalles, haz clic aquí |
| COUNTA(valor) | Cuenta el número de filas de la subtabla donde el campo especificado no está vacío. La fórmula contará si el campo especificado no está vacío, incluso si otros campos de la fila lo están. No es necesario que toda la fila no esté vacía. Para detalles, haz clic aquí |
| RUNNINGBALANCE(valor, [allow_backend_formula_recalculation=false]) | Devuelve la suma de los valores de esta fila y de las filas anteriores del campo especificado en la subtabla. Si se establece como verdadero, permite el recálculo de la fórmula en el backend. Para usar esta fórmula, los registros de la subtabla deben crearse en el orden correcto. Para detalles, haz clic aquí |
| LARGE(arg, nth, ["arg2"]) | Hace referencia a los campos de la subtabla y comprueba el valor ordinal de una columna, a la vez que devuelve el valor de otra columna en la misma fila. Para detalles, haz clic aquí |
| UNIQUE() | Enumera los valores únicos del campo de la subtabla referenciado. Para más detalles, haz clic aquí. |
| UNIQUE().length | Calcula el número de valores únicos del campo Subtabla referenciado. Para más detalles, haz clic aquí. |
| VLOOKUP() | Devuelve los valores de la subtabla que cumplen las condiciones especificadas. Para más detalles, haz clic aquí. |
En los campos de selección múltiple (por ejemplo, Selección Múltiple, Imagen Adjunta múltiple o Archivo Adjunto múltiple), puede aplicar fórmulas para verificar elementos específicos, encontrar los que faltan o contar los archivos adjuntos cargados. Para más detalles, consulta esta sección.
| Fórmula | Descripción |
|---|---|
| INCLUDES_ALL(Campo de selección múltiple/imagen/archivo adjunto, valor1, valor2,...) | Si todos los valores listados (que pueden ser de cualquier tipo o valor de campo) están incluidos en las opciones, devuelve verdadero. |
| NOT_INCLUDES_ALL(Campo de selección múltiple/imagen/archivo adjunto, valor1, valor2,...) | Si todos los valores enumerados (que pueden ser de cualquier tipo de campo o valor) no están en ninguna de las opciones, devuelve verdadero, equivalente al inverso de INCLUDES_ANY. |
| INCLUDES_ANY(Campo de selección múltiple/imagen/archivo adjunto, valor1, valor2,...) | Si al menos uno de los valores enumerados (que puede ser de cualquier tipo de campo o valor) está contenido en cualquiera de las opciones, devuelve verdadero. |
| NOT_INCLUDES_ANY(Campo de selección múltiple/imagen/archivo adjunto, valor1, valor2,...) | Si ninguno de los valores enumerados (que pueden ser de cualquier tipo de campo o valor) está contenido en ninguna de las opciones, devuelve verdadero, equivalente al inverso de INCLUDES_ALL. |
| ITEMS_COUNT(Campo de selección múltiple/imagen/archivo adjunto) | Devuelve el número de valores en un campo de selección múltiple. Por ejemplo, si se seleccionan tres opciones en un campo de selección múltiple, devuelve 3; si hay dos archivos en un campo de carga de archivos, devuelve 2. |
Se usan para devolver valores relacionados con el proceso de aprobación cuando se configura un flujo de aprobación en la hoja. Para más detalles, consulta esta sección.
| Fórmula | Descripción |
|---|---|
| APPROVAL.COUNT() | Devuelve el número de pasos de aprobación. |
| APPROVAL.STATUS() | Devuelve el estado de aprobación. |
| APPROVAL.SUBMITTER() | Devuelve la dirección de correo electrónico del usuario que inicia el proceso de aprobación. Compatible con campos de tipo Seleccionar Usuario. |
| APPROVAL.SUBMITTERNAME() | Devuelve el nombre del usuario que inicia el proceso de aprobación. |
| APPROVAL.SUBMITDATE([true]) | Devuelve la fecha y hora de inicio de un proceso de aprobación. Compatible con Campos de fecha. Para más detalles, consulta esta sección. |
| APPROVAL.FINISHDATE([true]) | Devuelve la fecha y hora de finalización de un proceso de aprobación. Una aprobación finaliza cuando todos los aprobadores la aprueban o cuando uno de ellos la rechaza. Compatible con Campos de fecha. Para más detalles, consulta esta sección. |
| APPROVAL.CURRENTSTEPINDEX | Devuelve el valor del índice que representa el paso actual del proceso de aprobación.
Índice 0 significa que el proceso de aprobación aún no se ha iniciado. Índice 1 significa que el proceso de aprobación se ha iniciado, pero ningún aprobador lo ha aprobado aún. Cada vez que un aprobador aprueba, se añade "1" al índice. Al finalizar el proceso de aprobación (todos aprobados/1 rechazado/cancelados), el índice vuelve a "0". |
| APPROVAL.STEP([stepIndex]).NAME() | Devuelve el nombre de este paso. |
| APPROVAL.STEP([stepIndex]).STATUS() | Devuelve el estado de este paso. |
| APPROVAL.STEP([stepIndex]).USERS() | Devuelve todos los aprobadores.
P. ej., Ana García|José López|Juan Morales Compatible con Campos de Usuarios de Selección Múltiple. (Dado que actualmente no se pueden aplicar fórmulas a los Campos de Selección Múltiple, configure primero la fórmula y luego seleccione la configuración de Selección Múltiple). |
| APPROVAL.STEP([stepIndex]).UNSIGNEDUSERS() | Devuelve los aprobadores que no aprobaron en este paso. Por ejemplo, Ana García|José López|Juan Morales.
Compatible con Campos de Usuarios de Selección Múltiple. (Dado que actualmente no se pueden aplicar fórmulas a los Campos de Selección Múltiple, configure primero la fórmula y luego seleccione la configuración de Selección Múltiple) |
| APPROVAL.STEP([stepIndex]).SIGNEDUSERS() | Devuelve los aprobadores que ya aprobaron este paso.
P. ej., Ana García|José López|Juan Morales Compatible con Campos de Usuarios de Selección Múltiple. (Dado que actualmente no se pueden aplicar fórmulas a los Campos de Selección Múltiple, configure primero la fórmula y luego seleccione la configuración de Selección Múltiple) |
| APPROVAL.STEP([stepIndex]).ISMULTI() | Devuelve "TRUE" si este paso tiene "múltiples aprobadores". |
| APPROVAL.STEP([stepIndex]).THRESHOLD() | Devuelve el número de umbral de este paso, o "-1" si este paso solo tiene un aprobador o no se estableció ningún umbral. |
| APPROVAL.STEP([stepIndex]).SIGNEDCOUNT() | Devuelve el número de aprobadores que ya han aprobado este paso. |
| APPROVAL.STEP([stepIndex]).RESP([email]) | Devuelve la respuesta de este paso. Para detalles, haz clic aquí. |
| APPROVAL.STEP([stepIndex]).COMMENT([email]) | Devuelve los comentarios del/de los aprobador(es), o nulo si no hay comentarios. Para detalles, haz clic aquí. |
| APPROVAL.STEP([stepIndex]).SIG([email]) | Devuelve la firma del aprobador en este paso.
Por ejemplo, URL de imagen base64. Compatible con Campos de imagen adjunta. Para detalles, haz clic aquí. |
| APPROVAL.STEP([stepIndex]).SIGIMG([email], [width], [height]) | Devuelve la firma del aprobador en este paso en un tamaño de imagen predeterminado. Los argumentos [ancho] y [alto] son opcionales; los valores predeterminados son 300 px x 150 px. Esta fórmula se puede aplicar a las descripciones de campo con BBCode [fórmula]. Para detalles, haz clic aquí. |
| APPROVAL.STEP([stepIndex]).ACTIONDATE([email],[true]) |
Devuelve la hora de aprobación o rechazo de un paso de aprobación específico. Esta fórmula debe aplicarse a un campo de fecha. Para detalles, haz clic aquí. |
| APPROVAL.STEP([stepIndex]).COMMENTDATE([email], [true]) | Devuelve la fecha y hora en que los aprobadores dejaron los comentarios, o nulo si no hay aprobación, rechazo ni comentario. Esta fórmula se puede aplicar a un campo de fecha. Para detalles, haz clic aquí |
Las calculaciones serán realizadas al ingresar los datos por primera vez. El valor será guardado una vez que se guarden los cambios en el registro.
Por defecto, los valores que ya están guardados en su base de datos no serán modificados al cambiar la fórmula en la hoja. Esto se debe a que en la mayoría de los casos, las calculaciones previas aún son válidas para los registros antiguos y no deben ser sobrescritas por los nuevos cambios en la fórmula. Un ejemplo práctico sería la calculación de impuestos, si el impuesto sube, todos los registros anteriores aún deben reflejar la calculación usando el antiguo porcentaje de impuesto.
En algunos casos, puede ser que necesites recalcular una fórmula en todos los registros anteriores. Para ello, puede aplicar el cambio de fórmula a todos los registros guardados o, si ha modificado más de una fórmula, aplicar todas las fórmulas de esta hoja a todos los registros guardados.
Recuerda Guardar el diseño antes de recalcular fórmulas en el Modo Diseño.

Además de aplicar manualmente el recálculo de fórmulas, también puede hacerlo mediante el Workflow Javascript. Además, si cambia las fórmulas con frecuencia o usa TODAY(), puede considerar usar el Flujo de trabajo diario para recalcular las fórmulas a diario.
Nota: Con el recálculo de fórmulas de flujo de trabajo, hay dos situaciones en las que los cambios no se registrarán en el historial de registro.
1. No se realizan cambios después del recálculo.
2. Para optimizar el rendimiento del sistema, los recálculos que superen los 3500 registros no se registrarán en el historial (aunque el recálculo se seguirá ejecutando normalmente).
Para ejecutar un recálculo de fórmula en registros relacionados en otras hojas, vaya a Configuración de formulario > Configuración de formulario > Recalcular todas las fórmulas en hojas principales o relacionadas.


Hojas madre:
En el ejemplo anterior, A y B son hojas madre de C.
Hojas relacionadas:
Las hojas B y C están relacionadas con A; A y C están relacionadas con B.
Nota: Nota: Actualmente, el límite de registros recalculados es de 2000. Si el número de registros a recalcular supera el límite del sistema, se ignorará la configuración para recalcular todas las fórmulas en las hojas relacionadas.
El siguiente diagrama muestra los conceptos de diseño y la lógica entre hojas madre, hojas dependientes y hojas relacionadas.

Las fórmulas también funcionan en campos de texto estático sólo para fines de visualización.
Esto es útil si necesitas recalcular una fórmula cada vez que accedes a un formulario de tu base de datos, pero no necesitas mantener ese valor en la base de datos. Debes usar BBCode [formula] para que la fórmula funcione.
Por ejemplo, supongamos que desea ver la edad de una persona según su fecha de cumpleaños. Usaremos la siguiente fórmula: [formula](TODAY() - A1)/365.25[/formula] en un campo de descripción para mostrar la edad de esta persona, esta fórmula será recalculada según la fecha actual.

Para saber más sobre objetos matemáticos disponibles en Ragic, puedes ver esta página.
Si desea usar otras fórmulas actualmente no disponibles en Ragic, escríbenos a soporte Ragic para sugerirlas.