Columna de fórmulas en SeaTable
Una de las características más potentes de SeaTable es la columna de fórmulas. Con las fórmulas puede transformar, calcular, combinar o resumir automáticamente los valores de otras columnas de la tabla actual o incluso de otra tabla (vinculada) de la misma base. Además, por supuesto, puede añadir otras columnas de fórmulas que tomen los resultados de las columnas formales existentes y los calculen. Las columnas de fórmulas que dependen de las otras columnas se actualizan automáticamente en cuanto se modifican sus valores.
Actualmente SeaTable ofrece las siguientes funciones en la columna "Fórmula":
- Constantes
- Operandos
- Funciones matemáticas
- Funciones de texto
- Funciones de la fecha
- Funciones lógicas
- Funciones estadísticas
Y una colección de funciones de enlace en la columna "Fórmula de enlace":
- Funciones de enlace
Además de las funciones anteriores, en el editor de fórmulas hay una o varias listas de columnas. Se trata de las columnas de la tabla actual y de las columnas vinculadas de la otra tabla de la base. Si hace clic en el símbolo "+" situado junto a ella, el nombre de la columna se añade como elemento al campo de entrada con el formato {NombreColumna} o {NombreColumnaTablaEnlazada}. Puede utilizar este elemento directamente en su fórmula. Por supuesto, también puede introducir a mano un nombre de columna con el formato {NombreColumna}.
En este artículo le mostramos una visión completa de todas las fórmulas de SeaTable con ejemplos adecuados. Si busca una función específica, puede utilizar la combinación de teclas
La colección de fórmulas de SeaTable con ejemplos
Constantes
Operador | Descripción | Ejemplos |
---|---|---|
e | Devuelve el número de Euler e=2.71828.... | = 3.71828183 |
pi | Devuelve el número de círculo Pi. | = 3.14159265 |
verdadero() | Devuelve el valor lógico 'true'. | = verdadero |
falso() | Devuelve el valor lógico 'false'. | = falso |
Operandos
Operador | Descripción | Ejemplos |
---|---|---|
add(num1, num2) | Suma dos valores numéricos (num1 y num2) y devuelve el resultado. | = 3 |
Alternativa: + | = 3 |
|
restar(num1, num2) | Resta un valor numérico (num2) de otro (num1). | = 1 |
Alternativa: - | = 1 |
|
multiplicar(num1, num2) | Multiplica dos valores numéricos. | = 12 |
Alternativa: * | = 12 |
|
dividir(num1, num2) | Divide un valor numérico (num1) entre otro (num2). | = 2.5 |
Alternativa: / | = 1.5 |
|
mod(num1, num2) | Calcula el resto de una división. | = 3 |
Alternativa: %. | = 1 |
|
potencia(num1, num2) | Calcula la potencia (num2) de un número (num1). | = 9 |
Alternativa: ^ | = 9 |
|
mayor(num1, num2) | Comprueba si un valor numérico (num1) es mayor que otro (num2) y devuelve el valor lógico 'verdadero' o 'falso'. | = falso |
Alternativa: > | = falso |
|
menosque(num1, num2) | Comprueba si un valor numérico (num1) es menor que otro (num2) y devuelve el valor lógico 'verdadero' o 'falso'. | = verdadero |
Alternativ: < | = verdadero |
|
greatereq(num1, num2) | Comprueba si un valor numérico (num1) es mayor o igual que otro (num2) y devuelve el valor lógico 'verdadero' o 'falso'. | = falso |
Alternativa: >= | = falso |
|
menosthaneq(num1, num2) | Comprueba si un valor numérico (num1) es menor o igual que otro (num2) y devuelve el valor lógico 'verdadero' o 'falso'. | = verdadero |
Alternativ: <= | = verdadero |
|
igual(número1, número2) | Comprueba si dos valores (número1, número 2) son iguales y devuelve el valor lógico 'verdadero' o 'falso'. | = falso |
Alternativa: = | = falso |
|
desigual(número1, número2) | Comprueba si dos valores (número1, número2) son desiguales y devuelve el valor lógico 'verdadero' o 'falso' en cada caso. | = verdadero |
Alternativa: <> | = verdadero |
|
concatenar(cadena1, cadena2, ...) | Concatena varias cadenas (cadena1, cadena 2, ...) en una sola cadena. | = Linux es genial |
Alternativa: & | = Linux es genial |
Funciones matemáticas
Operador | Descripción | Ejemplo de entrada | Resultado |
---|---|---|---|
abs(número) | Devuelve el valor absoluto de un número. | abs(-2) | 2 |
techo(número, significado) | Redondea un número al entero más cercano o al múltiplo más cercano del paso especificado (significado). Si alguno de los argumentos no es numérico, la fórmula devuelve un valor vacío. | techo(2.14) | 3 |
Si el número es un múltiplo exacto del significado, entonces no hay redondeo. Si el número y la significación son negativos, entonces el redondeo se aleja de 0. Si el número es negativo y la significación es positiva, entonces el redondeo es hacia 0. | techo(-2,14, 4) | 0 | |
even(número) | Asigna el número par más grande más cercano a un número real (número). | incluso(2.14) | 4 |
exp(número) | Función exponencial para el número de Euler e. Devuelve el valor de e elevado a la potencia de un número dado. | exp(1) | 2.71828... |
floor(number, significance) | Redondea un número al entero más cercano o al múltiplo más cercano del paso especificado (significado). Si alguno de los argumentos no es numérico, la fórmula devuelve un valor vacío. | piso(2.86) | 2 |
Si el número es un múltiplo exacto del significado, no hay redondeo. Si el signo del número es positivo, el redondeo es hacia el 0. Si el signo del número es negativo, el redondeo se aleja del 0. | piso(-3,14, 5) | -5 | |
int(número) | Asigna el número entero más pequeño más cercano a un número real (número). | int(-3,14) | -4 |
lg(número) | Función de logaritmo (número) con 10 como base. | lg(100) | 2 |
ln(número) | Función logarítmica (número) con el número de Euler e como base. | ln(e) | 1 |
log(número, base) | Función de logaritmo (número) con base definible. | log(81, 3) | 4 |
Sin embargo, si no se da ninguna base, esta función funciona exactamente como lg(), es decir, con 10 como base. | log(1000) | 3 | |
impar(número) | Asigna el número impar más grande más cercano a un número real (número). | impar(-2,14) | -1 |
redondear(número, dígitos) | Redondea un número a un número especificado de lugares decimales (dígitos). Si no se especifica ningún lugar decimal (dígitos), el número se redondea al primer lugar a la izquierda del punto decimal. | redondo(3.14) | 3 |
Si se da un decimal positivo (dígitos), redondea al dígito a la derecha del punto decimal. | round(3.14, 1) | 3.1 | |
Si se da un decimal negativo (dígitos), se redondea a la izquierda del punto decimal. | round(3.14, -3) | 0 | |
round(99.1, -2) | 100 | ||
redondear(número, dígitos) | Redondea un número en dirección al cero. Si no se indica ningún lugar decimal (dígitos), el número se redondea al primer lugar a la izquierda del punto decimal. | redondear(3.12, 1) | 3.1 |
redondear(-3.15) | -3 | ||
redondear(número, dígitos) | Redondea un número a partir de cero. Si no se indica ningún lugar decimal (dígitos), el número se redondea al primer dígito a la izquierda del punto decimal. | redondeo(3.12, 1) | 3.2 |
redondeo(-3.15) | -4 | ||
signo(número) | Comprueba si un número es mayor, igual o menor que 0. Devuelve el valor 1, 0 y -1 respectivamente. Es decir, devuelve el signo de un número, respectivamente para "+", "cero" y "-" con 1, 0 y -1. | signo(-2) | -1 |
sqrt(número) | Devuelve la raíz cuadrada de un número. | sqrt(81) | 9 |
sum(num1, num2, ...) | Devuelve la suma de los números (num1, num2, ...). | suma(7,8,9) | 24 |
Funciones de texto
Operador | Descripción | Ejemplo de entrada | Resultado |
---|---|---|---|
exact(cadena1, cadena2) | Comprueba si dos cadenas (cadena1, cadena2) son exactamente idénticas. Devuelve los valores 'true' o 'false'. Se tienen en cuenta las mayúsculas y minúsculas. | exact('SeaTable', 'Seatable') | falso |
find(findString, sourceString, startPosition) | Devuelve la posición inicial de una cadena (findString) dentro de otra cadena (sourceString). Se respeta la sensibilidad a las mayúsculas y minúsculas. Sin un hallazgo, se devuelve 0. Si la posición inicial (startPosition) se da como decimal, se redondea hacia abajo. Si la celda de la columna de la palabra clave (findString) sigue vacía, se devuelve 1. Si la celda de la columna de la cadena de destino (sourceString) sigue vacía, se devuelve un valor vacío (''). | find('Mar', 'seaTable', 1) | 0 |
La búsqueda se iniciará a partir de la "startPosition" dada. Sin embargo, esta 'startPosition' no influye en el resultado: entonces siempre devuelve la posición inicial absoluta. Si la 'startPosition' de la cadena a encontrar (findString) se dio después de la posición de inicio real de la cadena (sourceString), se devuelve 0, porque no se encontró nada a partir de esta posición. | find('tabla', 'tabla grande', 4) | 5 | |
find('tabla', 'tabla grande', 6) | 0 | ||
left(string, count) | Devuelve el número especificado (cuenta) de caracteres al principio de una cadena. | left('SeaTable', 3) | Mar |
len(cadena) | Devuelve el número de caracteres de una cadena. | len('SeaTable') | 8 |
lower(cadena) | Convierte una cadena en minúsculas. | lower('DeutscH') | alemán |
mid(string, startPosition, count) | Devuelve el número especificado (count) de caracteres desde la posición inicial especificada (startPosition) de una cadena. | mid('SeaTable es el mejor', 1, 8) | SeaTable |
La posición inicial (startPosition) y el número (count) no deben estar vacíos, ser negativos o ser iguales a cero. Sin embargo, si startPosition y count se dan como decimales, se redondean hacia abajo. Un número demasiado dado (recuento) será ignorado. | mid('SeaTable es lo mejor.', 10.9, 27.3) | es el mejor. | |
replace(sourceString, startPosition, count, newString) | Reemplaza una parte (cuenta) de una cadena (sourceString) a partir de una determinada posición inicial (startPosition) por otra cadena (newString). El número (recuento) de caracteres sólo se tiene en cuenta para la cadena antigua (sourceString), pero no para la nueva cadena (newString). | replace('SeaTable es lo mejor.', 1, 8, 'Seafile') | Seafile es lo mejor. |
Si la cuenta se da como cero, la nueva cadena se añade simplemente desde la posición inicial en la cadena antigua. | replace('SeaTable es lo mejor.', 1, 0, 'Seafile') | SeafileSeaTable es lo mejor. | |
rept(cadena, número) | Repite una cadena tantas veces (número) como se especifique. | rept('Mar ', 3) | Mar Mar Mar Mar |
right(string, count) | Devuelve el número especificado (cuenta) de caracteres al final de una cadena. | right('SeaTable', 5) | Tabla |
search(findString, sourceString, startPosition) | Devuelve la posición inicial de una cadena (findString) dentro de otra cadena (sourceString). No se tiene en cuenta la sensibilidad a los casos. Sin un hallazgo, se devuelve 0. Si la posición inicial (startPosition) se da como decimal, se redondea hacia abajo. Si la celda de la columna de la palabra clave (findString) sigue vacía, se devuelve 1. Si la celda de la columna de la cadena de destino (sourceString) sigue vacía, se devuelve un valor vacío (''). | search('Mar', 'seaTable', 1) | 1 |
La búsqueda se iniciará a partir de la "startPosition" dada. Sin embargo, esta 'startPosition' no influye en el resultado: entonces siempre devuelve la posición inicial absoluta. Si la 'startPosition' de la cadena a encontrar (findString) se dio después de la posición de inicio real de la cadena (sourceString), se devuelve 0, porque no se encontró nada a partir de esta posición. | search('table', 'big table', 4) | 5 | |
search('table', 'big table', 6) | 0 | ||
substitute(sourceString, oldString, newString, index) | Sustituye el texto existente (oldString) por el nuevo texto (newString) en una cadena (sourceString). Si hay más de un texto (oldString) en la cadena (sourceString), sólo se sustituye el texto 'index'-th. Se respeta la sensibilidad a las mayúsculas y minúsculas. | substitute('SeaTableTable', 'Table', 'file', 1) | Mesa de trabajo |
Si el índice se da como 0 o no, todas las partes de texto encontradas (oldString) se sustituyen por el nuevo texto (newString). | substitute('SeaTableTable', 'Table', 'file') | Archivo marítimo | |
T(valor) | Comprueba si un valor es un texto. En caso afirmativo, se devuelve el texto. Si no, el valor de retorno está vacío. | T(123) | (en blanco) |
T('123') | 123 | ||
text(número, formato) | Convierte un número en texto y lo formatea en el formato especificado. El formato puede ser porcentaje y número, dólar, euro y yuan. | text(150, 'euro') | €150 |
Cuando un número se convierte directamente en porcentaje, se mantiene su valor absoluto. Es decir, 50 se convierte en 5000%. Sin embargo, si quiere el 50%, todavía tiene que dividir el número por 100 antes de la conversión. | text(50, 'por ciento') | 5000% | |
text(50/100, 'por ciento') | 50% | ||
trim(string) | Elimina los espacios al principio y al final de una cadena. | trim(' SeaTable ') | SeaTable |
upper(string) | Convierte una cadena en mayúsculas. | upper('DeutscH') | ALEMÁN |
valor(cadena) | Convierte un texto (cadena) que representa un número en un número. | valor('123') | 123 |
Funciones de la fecha
Operador | Descripción | Ejemplo de entrada | Resultado |
---|---|---|---|
+ | Añade días o duración a una fecha con o sin minutos. Si la columna de la fecha no tiene minutos, se toman las 00:00 de ese día como valor por defecto. | date(2021, 1, 31)+1 | 2021-02-01 |
Por ejemplo, si se introduce una duración de 8 horas y 20 minutos en la columna {duración} tiene: | date(2021, 1, 31)+{duration} | 2021-01-31 08:20 | |
- | Resta días o duración de una fecha con o sin minutos. Si la columna de fecha no tiene minutos, se toma 00:00 como valor por defecto de ese día. | date(2021, 1, 31) - 30 | 2021-01-01 |
Por ejemplo, si se introduce una duración de 8 horas y 20 minutos en la columna {duración} tiene: | date(2021, 1, 31)-{duration} | 2021-01-30 15:40 | |
Con {Fecha1}-{Fecha2} devuelve la diferencia de tiempo en días. | fecha(2021, 1, 31)-fecha(2020, 12, 23) | 39 | |
date(año, mes, día) | Devuelve una fecha en formato internacional (ISO) a partir del año, mes y día introducidos. Si el año se introduce con dos dígitos, se entiende automáticamente como un año del 1900. Si el número del mes o del día es demasiado grande (mayor que 12 o 31 respectivamente), estos meses o días se convierten automáticamente al año o al mes siguiente. | date(2021, 1, 3) | 2021-01-03 |
dateAdd(date, count, unit) | Añade el número especificado (cuenta) de años, meses, semanas, días, horas, minutos o segundos a una fecha/hora. | dateAdd('2020-02-03', 2, 'days') | 2020-02-05 |
Consejo: si quiere añadir una duración compleja (recuento) como 1 día 12 horas, puede convertirla, por ejemplo, en 24+12=36 horas e introducirla como una única duración (recuento) en la fórmula. Convierte la duración a la unidad más pequeña: en este caso, horas. | dateAdd('2020-09-04 13:05:18', 36, 'hours') ODER dateAdd({form submission}, 36, 'hours') | 2020-09-06 01:05:18 | |
datedif(startDate, endDate, unit) | Calcula los segundos, días, meses o años entre dos valores de fecha. El argumento de la unidad opcional puede ser uno de los siguientes: S (segundos), D (días completos), M (meses completos), Y (años completos), YD (días completos, ignorando los años), YM (meses completos, ignorando días y años), MD (días completos, ignorando meses y años). | dateDif('2018-01-01', '2020-01-01') | 2 |
El argumento de unidad opcional puede ser uno de los siguientes: S (segundos), D (días completos), M (meses completos), Y (años completos), YD (días completos, sin tener en cuenta los años), YM (meses completos, sin tener en cuenta los días y los años), MD (días completos, sin tener en cuenta los meses y los años). | dateDif('2019-10-11', '2020-12-12', 'M') | 14 | |
día(fecha) | Devuelve el día de una fecha como un número. El número devuelto está entre 1 y 31. | día('2020-01-03') | 3 |
days(startDate, endDate) | Devuelve el número de días entre dos valores de fecha (startDate y endDate). | days('2020-01-01', '2020-02-03') | 33 |
eomonth(startDate, months) | Determina la fecha del último día del mes que es el número especificado (meses) de meses después de la fecha especificada (startDate). Si el número (meses) se da como 0, simplemente se determina el último día del mes. | eomonth('2020-01-01', 1) | 2020-02-29 |
Si el número (meses) se da como negativo, se determina la fecha del último día del mes que contiene el número absoluto (meses) de meses antes de la fecha especificada (startDate). | eomonth('2020-01-01', -1) | 2019-12-31 | |
hora(fecha) | Devuelve la hora de un tiempo (fecha) como un número. El número devuelto está entre 0 y 23. | hour('2020-02-14 13:14:52') | 13 |
Si no hay ninguna hora en el tiempo (fecha), se devuelve 0. | hora('2020-02-14') | 0 | |
horas(fechainicial, fechafinal) | Devuelve el número de horas entre dos valores de fecha (startDate y endDate). Los minutos en los valores de la fecha no se tienen en cuenta. | horas('2020-02-14 13:14', '2020-02-14 15:14') | 2 |
Si no se incluyen horas en la especificación de la hora (startDate o endDate), se asumen automáticamente las 0 horas de ese día. | hours('2020-02-14', '2020-02-14 15:14') | 15 | |
minuto(fecha) | Devuelve los minutos de una hora (fecha) como un número. El número devuelto está entre 0 y 59. | minuto('2020-02-14 13:14:52') | 14 |
Si no hay minutos en la hora (fecha), se devuelve 0. | minuto('2020-02-14') | 0 | |
mes(fecha) | Devuelve el mes de una fecha como un número. El número devuelto está entre el 1 (enero) y el 12 (diciembre). | mes('2020-02-14 13:14:52') | 2 |
meses(fechainicial, fechafinal) | Devuelve el número de meses entre dos valores de fecha (startDate y endDate). Los días y la hora de los valores de la fecha no se tienen en cuenta. | months('2020-02-01 13:14', '2020-03-31 15:54') | 1 |
Si no se indica ningún mes en los valores de la fecha (startDate, endDate), se asume automáticamente enero como mes. | meses('2020', '2021') | 12 | |
networkdays(startDate, endDate, holiday1, holiday2, ...) | Devuelve el número de días laborables enteros entre dos valores de fecha (startDate y endDate). También puede definir otros días festivos además del sábado y el domingo (festivo1, festivo2, etc.), éstos también se descontarán. Si no hay que incluir ningún día festivo en el cálculo, estos parámetros pueden simplemente omitirse. | networkdays('2020-01-01', '2020-01-07','2020-01-01') | 4 |
Tenga en cuenta que el último día especificado (endDate) también se cuenta en la fórmula. Es decir, como por ejemplo en esta fórmula, se cuentan tres días hábiles: el 7, 8 y 9 de septiembre de 2020. | networkdays('2020-09-07', '2020-09-09') | 3 | |
ahora() | Devuelve la fecha y la hora actuales. Esta columna sólo se actualiza automáticamente cuando la base ha sido recargada. | ahora() | 2020-09-07 12:59 |
segundo(fecha) | Devuelve los segundos de una hora (fecha) como un número. El número devuelto está entre 0 y 59. | second('2020-02-14 13:14:52') | 52 |
hoy() | Devuelve la fecha actual. Esta columna sólo se actualiza automáticamente cuando la base ha sido recargada. | hoy() | 2020-09-07 |
Esta función es conveniente para calcular la duración del tiempo entre una determinada fecha y hora y el momento. En cada recarga o recálculo de la base, el cálculo se actualiza. | networkdays('2020-09-01', today()) | 4 | |
día de la semana(fecha, inicio de la semana) | Devuelve el día de la semana de una fecha como un número. El número devuelto está entre 1 y 7. Puede definir el primer día de la semana (weekStart): Lunes ('Monday') o domingo ('Sunday' o dejarlo fuera, porque el inicio como domingo es por defecto). Una tercera opción no es posible. No se tienen en cuenta las mayúsculas y minúsculas. | weekday('2020-01-01', 'Monday') | 3 |
Si no se indica ningún "weekStart" o si se indica un "weekStart" distinto de "lunes" o "domingo", siempre se asume que es "domingo". Por lo tanto, si debe ser "lunes", introduzca "lunes"; si debe ser "domingo", puede omitir este parámetro. | weekday('2020-01-01', 'Thursday') O weekday('2020-01-01') | 4 | |
weeknum(date, return_type) | Devuelve el número de semana absoluto de una fecha como un número. El número devuelto está entre 1 y 53. Aquí puede definir el primer día de la semana (tipo_de_retorno). Introduzca el número 1 o 2, o del 11 al 17, y el 21 como "tipo_de_retorno" para definir el inicio de una semana: 1/Domingo、2/Lunes、11/Lunes、12/Martes、13/Miércoles、14/Jueves、15/Viernes、16/Sábado、17/Domingo. Si el número de la semana debe devolverse según la norma ISO, especifique el número 21 como "return_type", o utilice la función isoweeknum. | weeknum('2020-01-12', 11) | 2 |
Si no se indica 'return_type', se asume siempre que es 'Sunday'. | weeknum('2020-01-12') | 3 | |
isoweeknum(fecha) | Devuelve el número de semana ISO (KW) de una fecha como un número. | isoweeknum('2021-01-04') | 1 |
Diferente de la función weeknum(): con la función isoweeknum() a veces también se obtiene un número de semana que todavía está en el año anterior. En este ejemplo: el 1 de enero de 2021 pertenece a la 53ª semana natural de 2020 según la norma ISO. | isoweeknum('2021-01-01') | 53 | |
año(fecha) | Devuelve el año de una fecha como un número. | año('2020-01-01') | 2020 |
Funciones lógicas
Operador | Descripción | Ejemplo de entrada | Resultado |
---|---|---|---|
and(logical1, logical2, ...) | Comprueba si todos los argumentos (logical1, logical2, ...) son verdaderos (válidos, no vacíos y no nulos). Si es así, se devuelve 'true', en caso contrario 'false'. | y(1, '', 2) | falso |
if(lógico, valor1, valor2) | Comprueba si un argumento (lógico) es verdadero y, en caso afirmativo, devuelve el primer valor (valor1) y, en caso negativo, devuelve el segundo valor (valor2). Atención: los dos valores (valor1 y valor2) deben ser del mismo tipo, por ejemplo, ambos deben ser cadena, o número. En caso contrario, el primer resultado definirá el tipo de columna y donde deba añadir el segundo valor, se rellenará un valor vacío. | si(1>2, 3, 4) | 4 |
Para la condición (lógica), sólo se permite una comparación con. Si sólo introduce la condición (lógica) y el primer valor (valor1): devolverá el primer valor (valor1) si la condición (lógica) es verdadera; y devolverá un valor vacío ('') si la condición (lógica) es falsa. | if({Presupuesto}>{Precio}, "Sí") | Sí | |
ifs(logical1, value1, logical2, value2, ...) | Prüft, ob eine oder mehrere Bedingungen (logical1, logical2, ...) zutreffen und gibt einen Wert (value1, value2, ...) zurück, der mit zur ersten WAHR-Bedingung passt. Versuchen Sie möglichst alle zurückzugebenen Werte (value1, value2) in den gleichen Typen (entweder alles "string" oder alles "number") anzugeben, wie z.B. in ifs({Area}=0,"mini",{Area}<=100,"small",{Area}1000,"large"), ist das Ergebnis immer "string", oder in dem Beispiel rechts, ist das Ergebnis immer "number". Wenn Sie aber Nummer als String gegeben haben, funktioniert die ifs Funktion auch, aber in diesem Fall wird keine Summe mehr automatisch für diese Spalte berechnet, da diese dann als String wahrgenommen werden. | ifs( 1>2, 3, 5>4, 9) | 9 |
not(booleano) | Invierte el valor lógico (booleano). En otras palabras: convierte "verdadero" en "falso" y "falso" en "verdadero". | not(and(1, '', 2)) | verdadero |
o(logical1, logical2, ...) | Comprueba si al menos 1 de los argumentos (valor1, valor2, ...) es verdadero (válido, no vacío y no nulo) y devuelve 'true' en este caso. Si todos los argumentos son falsos, entonces devuelve 'false'. | o(1, '', 2) | verdadero |
switch(logical, matcher1, value1, matcher2, value2, ..., default) | Evalúa una expresión (lógica) contra una lista de valores (matcher) y devuelve el resultado (valor) que coincide con el primer valor coincidente. Si no hay ninguna coincidencia, se devuelve un valor opcional por defecto. Deben especificarse al menos 3 parámetros (lógico, comparador, valor). | switch({calificaciones}, 1, "muy bueno", 2, "bueno", 3, "satisfactorio", 4, "aprobado", "reprobado") | Muy bueno |
Si hay varios valores idénticos en la lista de valores (matcher), sólo se tiene en cuenta la primera coincidencia. | switch(int(68/10), 6, 'OK', 6, 'KO') | OK | |
xor(logical1, logical2, ...) | Devuelve la contravaloración de todos los argumentos. En otras palabras: Comprueba si el número de argumentos verdaderos (lógicos) es impar y devuelve el valor 'true'. | xor(1, 0, 2<1, 1) | falso |
Funciones estadísticas
Operador | Descripción | Ejemplos |
---|---|---|
promedio(número1, número2, ...) | Devuelve la media de los números (número1, número2, ...). | = 3 |
count(number1, number2, ...) | Devuelve la cantidad de números (número1, número2, ...). Sólo se consideran los números válidos y no vacíos. En este ejemplo, '' es un valor vacío, y '3' no es un número sino un texto. | = 2 |
counta(textORnumber1, textORnumber2, ...) | Cuenta el número de celdas no vacías (textORnumber1, textORnumber2, ...). Estas celdas pueden ser de texto o numéricas. En este ejemplo, 1 y 2 son números, '3' es un texto y '' es un valor vacío. | = 3 |
countall(textORnumber1, textORnumber2, ...) | Cuenta el número de elementos (textORnumber1, textORnumber2, ...) incluyendo números (1, 2), texto ('3') y celdas vacías (''). | = 4 |
countblank(textORnumber1, textORnumber2, ...) | Cuenta el número de celdas vacías. | = 1 |
countItems("nombre-columna") | Cuenta el número de elementos en una celda. Los tipos de columna soportados son selección múltiple, empleado, archivo e imagen. | = 6 |
max(número1, número2, ...) | Devuelve el mayor valor de los números especificados (número1, número2, ...). | = 4 |
min(número1, número2, ...) | Devuelve el valor más pequeño de los números especificados (número1, número2, ...). | = -1 |
large(num1, num2, ..., k) | Devuelve el valor k más grande de la lista de números (num1, num2, ...). En este ejemplo: large(35, 92, 10, 2) devuelve el valor 2 más grande de (35, 92, 10), que es 35. | = 35 |
small(num1, num2, ..., k) | Devuelve el valor k más pequeño de la lista de números (num1, num2, ...). En este ejemplo: small(9, 2, -7, -3, 3) devuelve el valor más pequeño de (9, 2, -7, -3), que es 2. | = 2 |
Funciones de enlace
Puede utilizar las funciones de enlace como una fórmula, o configurarlas más fácilmente con la columna "Fórmula de enlace".
Operador | Descripción | Ejemplo de entrada |
---|---|---|
countlinks("Columna", [condición]) | Cuenta las entradas enlazadas en la columna de enlaces dada. Las entradas pueden filtrarse con el parámetro opcional condition([condition]). En el ejemplo: En la tabla actual hay una columna de enlace "Oradores". En una de sus celdas hay varias entradas vinculadas. Ahora queremos contar cuántos enlaces hay en cada celda en la que el "Precio" de la entrada vinculada es mayor que 500. | = 3 (Número de entradas vinculadas a la columna "Altavoces" en las que "Precio" es superior a 500). |
rollup("Columna", "Otra columna", resumen, [condición]) | Devuelve un valor evaluado de entradas vinculadas en otras tablas. Al enlazar desde la columna "Columna", se evalúan las entradas de la columna "Otra columna" de la tabla enlazada. Los métodos de resumen que se pueden realizar son 'promedio', 'concatenación', 'recuento', 'máximo', 'mínimo' y 'suma'. Opcionalmente, se pueden aplicar condiciones de filtrado. En el ejemplo: En la tabla actual hay una columna de enlace 'Altavoces' que está vinculada a otra tabla. Como cada "Altavoz" está vinculado a varias entradas, queremos averiguar, con un "Precio" inferior a 500, cuál es la mayor "Potencia" de cada "Altavoz". | = 80 (El mayor valor de las entradas vinculadas a la columna "Altavoces" en "Potencia" en las que el "Precio" es inferior a 500). |
lookup(findmax("Columna", "Otra columna"), "Objetivo") | Busca el mayor valor de la columna vinculada ("Otra columna") y devuelve el valor de la misma fila de otra columna ("Objetivo"). Especifique qué columna vinculada ("Columna") y qué columna vinculada ("Otra columna") y columna de destino ("Destino") deben utilizarse. En el ejemplo: En la tabla actual hay una columna de enlace "Altavoces" que está vinculada a otra tabla. Dado que cada "Altavoz" está vinculado a varias entradas, queremos averiguar qué "Precio" tiene cada "Altavoz" para su mayor "Potencia". | = 350 (Devuelve el mayor valor "Precio" en "Potencia" vinculado a la columna "Altavoces"). |
lookup(findmin("Columna", "Otra columna"), "Objetivo") | Busca el valor más pequeño de la columna vinculada ("Otra columna") y devuelve el valor de la misma fila de otra columna ("Objetivo"). Especifique qué columna vinculada ("Columna") y qué columna vinculada ("Otra columna") y columna de destino ("Destino") deben utilizarse. En el ejemplo: En la tabla actual hay una columna de enlace "Altavoces" que está vinculada a otra tabla. Dado que cada "Altavoz" está vinculado a varias entradas, queremos averiguar qué "Precio" tiene cada "Altavoz" para su menor "Potencia". | = 210 (El "Precio" del valor más pequeño en "Potencia" vinculado a la columna "Altavoces"). |