Coluna de Fórmula no SeaTable
Uma das características mais poderosas do SeaTable é a coluna de fórmula. Com fórmulas pode transformar, calcular, combinar ou resumir automaticamente os valores de outras colunas da tabela actual ou mesmo de outra tabela (ligada) da mesma base. Além disso, é claro que pode adicionar outras colunas de fórmula que tirem os resultados das colunas formais existentes e os calculem. As colunas de fórmula que dependem das outras colunas são automaticamente actualizadas assim que os valores aí existentes são alterados.
Atualmente, o SeaTable oferece as seguintes funções na coluna "Fórmula":
- Constantes
- Operandos
- Funções matemáticas
- Funções de texto
- Funções de data
- Funções lógicas
- Funções estatísticas
E uma coleção de funções de ligação na coluna "Fórmula de ligação":
- Funções de ligação
Para além das funções acima referidas, existem uma ou mais listas de colunas no editor de fórmulas. Estas são as colunas da tabela atual e as colunas ligadas da outra tabela na base. Se clicar no símbolo "+" ao lado da coluna, o nome da coluna é adicionado como um elemento ao campo de entrada no formato {ColumnName} ou {LinkedTable.ColumnName}. Pode utilizar este elemento diretamente na sua fórmula. Em alternativa, pode introduzir manualmente um nome de coluna no formato {ColumnName}.
Neste artigo mostramos-lhe uma visão completa de todas as fórmulas da SeaTable com exemplos adequados. Se procura uma função específica, pode usar a combinação de teclas
A colecção de fórmulas SeaTable com exemplos
Constantes
Operador | Descrição | Exemplos |
---|---|---|
e | Devolve o número Euler e=2.71828.... regressa. | = 3.71828183 |
pi | Devolve o número do círculo Pi. | = 3.14159265 |
verdadeiro() | Devolve o valor lógico 'verdadeiro'. | = verdadeiro |
falso() | Devolve o valor lógico 'falso'. | = falso |
Operandos
Operador | Descrição | Exemplos |
---|---|---|
add(num1, num2) | Acrescenta dois valores numéricos (num1 e num2) e devolve o resultado. | = 3 |
Alternativa: + | = 3 |
|
subtrair(num1, num2) | Subtrai um valor numérico (num2) de outro (num1). | = 1 |
Alternativa: - | = 1 |
|
multiplicar(num1, num2) | Multiplica dois valores numéricos. | = 12 |
Alternativa: * | = 12 |
|
divide(num1, num2) | Divide-se um valor numérico (num1) por outro (num2). | = 2.5 |
Alternativa: / | = 1.5 |
|
mod(num1, num2) | Calcula o resto de uma divisão. | = 3 |
Alternativa: % | = 1 |
|
power(num1, num2) | Calcula a potência (num2) de um número (num1). | = 9 |
Alternativa: ^ | = 9 |
|
maior(num1, num2) | Verifica se um valor numérico (num1) é superior a outro (num2) e retorna o valor lógico 'verdadeiro' ou 'falso'. | = falso |
Alternativa: > | = falso |
|
lessthan(num1, num2) | Verifica se um valor numérico (num1) é menor que outro (num2) e retorna o valor lógico 'verdadeiro' ou 'falso'. | = verdadeiro |
Alternativ: < | = verdadeiro |
|
greatereq(num1, num2) | Verifica se um valor numérico (num1) é maior ou igual a outro (num2) e retorna o valor lógico 'verdadeiro' ou 'falso'. | = falso |
Alternativa: >= | = falso |
|
lessthaneq(num1, num2) | Verifica se um valor numérico (num1) é inferior ou igual a outro (num2) e retorna o valor lógico 'verdadeiro' ou 'falso'. | = verdadeiro |
Alternativ: <= | = verdadeiro |
|
igual(número1, número2) | Verifica se dois valores (número 1, número 2) são iguais e devolve o valor lógico 'verdadeiro' ou 'falso'. | = falso |
Alternativa: = = | = falso |
|
desigual(número1, número2) | Verifica se dois valores (número1, número2) são desiguais e devolve o valor lógico 'verdadeiro' ou 'falso' em cada caso. | = verdadeiro |
Alternativa: <>> | = verdadeiro |
|
concatenar(string1, string2, ...) | Concatena várias cordas (corda 1, corda 2, ...) numa só corda. | = O Linux é óptimo |
Alternativa: & | = O Linux é óptimo |
Funções matemáticas
Operador | Descrição | Exemplo de entrada | Resultado |
---|---|---|---|
abs(número) | Devolve o valor absoluto de um número. | abs(-2) | 2 |
limite máximo(número, significado) | Arredonda um número para o número inteiro ou para o múltiplo mais próximo do passo especificado (significado). Se qualquer dos argumentos for não-numérico, a fórmula devolve um valor vazio. | tecto(2.14) | 3 |
Se o número for um múltiplo exacto do significado, então não há lugar a arredondamentos. Se o número e o significado forem negativos, então o arredondamento está longe de 0. Se o número for negativo e o significado for positivo, então o arredondamento está perto de 0. | tecto(-2,14, 4) | 0 | |
uniforme(número) | Atribui o número par maior mais próximo a um número real (número). | mesmo(2.14) | 4 |
exp(número) | Função exponencial para o número de Euler e. Devolve o valor de e elevado à potência de um determinado número. | exp(1) | 2.71828... |
andar(número, significado) | Arredonda um número para o número inteiro ou para o múltiplo mais próximo do passo especificado (significado). Se qualquer dos argumentos for não-numérico, a fórmula devolve um valor vazio. | andar(2.86) | 2 |
Se o número for um múltiplo exacto do significado, não há arredondamento. Se o sinal do número for positivo, o arredondamento é para 0. Se o sinal do número for negativo, o arredondamento é para longe de 0. | andar(-3.14, 5) | -5 | |
int(número) | Atribui o número inteiro menor mais próximo a um número real (número). | int(-3.14) | -4 |
lg(número) | Função logarítmica (número) com 10 como base. | lg(100) | 2 |
ln(número) | Função logarítmica (número) com o número e de Euler como base. | ln(e) | 1 |
log(número, base) | Função logarítmica (número) com base definível. | log(81, 3) | 4 |
No entanto, se não for dada nenhuma base, esta função funciona exactamente como lg(), ou seja, com 10 como base. | log(1000) | 3 | |
odd(número) | Atribui o número ímpar maior mais próximo a um número real (número). | ímpar(-2,14) | -1 |
redonda(número, dígitos) | Arredonda um número para um número especificado de casas decimais (dígitos). Se não for especificada uma casa decimal (dígitos), o número é arredondado para a primeira casa decimal à esquerda do ponto decimal. | ronda(3.14) | 3 |
Se for dada uma casa decimal positiva (dígitos), arredondar para o dígito à direita do ponto decimal. | ronda(3.14, 1) | 3.1 | |
Se for dada uma casa decimal negativa (dígitos), é arredondado para a esquerda da vírgula decimal. | ronda(3.14, -3) | 0 | |
ronda(99.1, -2) | 100 | ||
arredondamento para baixo(número, dígitos) | Arredondar um número na direcção de zero. Se não for indicada uma casa decimal (dígitos), o número é arredondado para a 1ª casa decimal à esquerda da vírgula. | arredondamento para baixo(3.12, 1) | 3.1 |
arredondamento para baixo(-3.15) | -3 | ||
arredondamento(número, dígitos) | Arredonda um número a partir do zero. Se não for indicada uma casa decimal (dígitos), o número é arredondado para o 1º dígito à esquerda do ponto decimal. | arredondamento(3.12, 1) | 3.2 |
arredondamento(-3.15) | -4 | ||
sinal(número) | Verifica se um número é maior, igual ou menor do que 0. Devolve os valores 1, 0 e -1 respectivamente. Por outras palavras, devolve o sinal de um número, respectivamente para '+', 'zero' e '-' com 1, 0, e -1. | sinal(-2) | -1 |
sqrt(número) | Devolve a raiz quadrada de um número. | sqrt(81) | 9 |
soma(num1, num2, ...) | Devolve a soma dos números (num1, num2, ...). | soma(7,8,9) | 24 |
Funções de texto
Operador | Descrição | Exemplo de entrada | Resultado |
---|---|---|---|
exacto(string1, string2) | Verifica se duas cordas (corda1, corda2) são exactamente idênticas. Devolve os valores 'verdadeiro' ou 'falso'. A caixa superior/baixa é tida em conta. | exacto ('SeaTable', 'Seatable') | falso |
find(findString, sourceString, startPosition) | Retorna a posição inicial de uma corda (findString) dentro de outra corda (sourceString). A sensibilidade ao caso é respeitada. Sem um achado, 0 é devolvido. Se a posição inicial (startPosition) for dada como decimal, é arredondada para baixo. Se a célula na coluna de palavras-chave (findString) ainda estiver vazia, 1 é devolvido. Se a célula na coluna para a cadeia de destino (sourceString) ainda estiver vazia, é devolvido um valor vazio (''). | find('Sea', 'seaTable', 1) | 0 |
A pesquisa começará a partir da 'startPosition' dada. No entanto, esta "posição inicial" não tem qualquer influência no resultado: depois devolve sempre a posição inicial absoluta. Se a 'startPosition' da corda a ser encontrada (findString) foi dada após a posição inicial real da corda (sourceString), 0 é devolvido, porque nada foi encontrado a partir desta posição. | find('table', 'big table', 4) | 5 | |
find('table', 'big table', 6) | 0 | ||
esquerda(fio, contar) | Devolve o número especificado (contagem) de caracteres no início de uma cadeia. | esquerda ("SeaTable", 3) | Mar |
len(string) | Retorna o número de caracteres de uma corda. | len('SeaTable') | 8 |
inferior(string) | Converte um fio em letras minúsculas. | mais baixo ('DeutscH') | alemão |
meio(string, startPosição, contagem) | Retorna o número especificado (contagem) de caracteres da posição inicial especificada (startPosition) a partir de uma cadeia. | mid('SeaTable é o melhor', 1, 8) | SeaTable |
A posição inicial (startPosition) e o número (contagem) não devem ser vazios, negativos ou iguais a zero. No entanto, se a posição inicial e a contagem forem dadas como decimais, elas são arredondadas para baixo. Um número dado em demasia (contagem) será ignorado. | mid('SeaTable é o melhor', 10.9, 27.3) | é o melhor. | |
substituir(fonteString, startPosition, count, newString) | Substitui uma parte (contagem) de uma corda (sourceString) de uma determinada posição inicial (startPosition) por outra corda (newString). O número (contagem) de caracteres só é tido em conta para a corda antiga (sourceString), mas não para a nova corda (newString). | substituir('SeaTable é o melhor.', 1, 8, 'Seafile') | O melhor é o Seafile. |
Se a contagem for dada como zero, a nova cadeia é simplesmente adicionada a partir da posição inicial na cadeia antiga. | substituir('SeaTable é o melhor.', 1, 0, 'Seafile') | A SeafileSeaTable é a melhor. | |
rept(string, número) | Repete um fio tantas vezes (número) quantas as especificadas. | rept('Mar', 3) | Mar Mar Mar |
direita(cordel, contar) | Devolve o número especificado (contagem) de caracteres no fim de uma cadeia. | direita ("SeaTable", 5) | Quadro |
pesquisa(findString, sourceString, startPosition) | Retorna a posição inicial de uma corda (findString) dentro de outra corda (sourceString). O caso não é tido em conta. Sem um achado, 0 é devolvido. Se a posição inicial (startPosition) for dada como decimal, é arredondada para baixo. Se a célula na coluna de palavras-chave (findString) ainda estiver vazia, 1 é devolvido. Se a célula na coluna para a cadeia de destino (sourceString) ainda estiver vazia, é devolvido um valor vazio (''). | search('Sea', 'seaTable', 1) | 1 |
A pesquisa começará a partir da 'startPosition' dada. No entanto, esta "posição inicial" não tem qualquer influência no resultado: depois devolve sempre a posição inicial absoluta. Se a 'startPosition' da corda a ser encontrada (findString) foi dada após a posição inicial real da corda (sourceString), 0 é devolvido, porque nada foi encontrado a partir desta posição. | pesquisa('tabela', 'tabela grande', 4) | 5 | |
pesquisa('tabela', 'tabela grande', 6) | 0 | ||
substituto(fonteString, oldString, newString, index) | Substitui texto existente (oldString) por novo texto (newString) numa cadeia (sourceString). Se houver mais do que um texto (oldString) na cadeia (sourceString), apenas o 'índice' -ésimo texto é substituído. A sensibilidade ao caso é respeitada. | substituto('SeaTableTable', 'Table', 'file', 1) | SeafileTable |
Se o índice for dado como 0 ou não, todas as partes de texto encontradas (oldString) são substituídas pelo novo texto (newString). | substituto('SeaTableTable', 'Table', 'file') | Seafilefile | |
T(valor) | Verifica se um valor é texto. Em caso afirmativo, o texto é devolvido. Se não, o valor de retorno está vazio. | T(123) | (em branco) |
T('123') | 123 | ||
texto(número, formato) | Converte um número em texto e formata-o no formato especificado. O formato pode ser percentagem e número, dólar, euro e yuan. | texto(150, 'euro') | €150 |
Quando um número é directamente convertido para uma percentagem, o seu valor absoluto é retido. Ou seja, 50 é convertido em 5000%. Contudo, se quiser 50%, deve dividir o número por 100 antes da conversão. | texto(50, 'por cento') | 5000% | |
texto(50/100, 'por cento') | 50% | ||
guarnição(cordel) | Remove espaços no início e no fim de um cordel. | guarnição(' SeaTable ') | SeaTable |
superior(cordel) | Converte um fio em letras maiúsculas. | superior ('DeutscH') | ALEMANHA |
valor(string) | Converte um texto (string) que representa um número em número. | valor('123') | 123 |
Funções de data
Operador | Descrição | Exemplo de entrada | Resultado |
---|---|---|---|
+ | Acrescenta dias ou duração a uma data com ou sem minutos. Se a coluna de datas não tiver minutos, 00:00 desse dia é considerado como o valor por defeito. | data(2021, 1, 31)+1 | 2021-02-01 |
Por exemplo, se for introduzida uma duração de 8 horas e 20 minutos na coluna {duração} tem: | data(2021, 1, 31)+{duração} | 2021-01-31 08:20 | |
- | Subtrai dias ou duração a partir de uma data com ou sem minutos. Se a coluna de datas não tiver minutos, 00:00 é considerado como o valor por defeito a partir desse dia. | data(2021, 1, 31) - 30 | 2021-01-01 |
Por exemplo, se for introduzida uma duração de 8 horas e 20 minutos na coluna {duração} tem: | data(2021, 1, 31)-{duração} | 2021-01-30 15:40 | |
Com {Data1}-{Data2} devolve a diferença horária em dias. | data(2021, 1, 31)- data(2020, 12, 23) | 39 | |
data(ano, mês, dia) | Retorna uma data em formato internacional (ISO) a partir do ano, mês e dia introduzidos. Se o ano for introduzido com dois dígitos, é automaticamente entendido como um ano nos anos 1900s. Se o número do mês ou do dia for demasiado grande (superior a 12 ou 31 respectivamente), estes meses ou dias são automaticamente convertidos para o ano ou mês seguinte. | data(2021, 1, 3) | 2021-01-03 |
dateAdd(data, contagem, unidade) | Adiciona o número especificado (contagem) de anos, meses, semanas, dias, horas, minutos ou segundos a uma data/hora. | dataAdd('2020-02-03', 2, 'dias') | 2020-02-05 |
Dica: se quiser adicionar uma duração complexa (contagem) como 1 dia 12 horas, pode convertê-la em, por exemplo, 24+12=36 horas e introduzi-la como duração única (contagem) na fórmula. Converter a duração para a unidade mais pequena: neste 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 os segundos, dias, meses ou anos entre dois valores de data. O argumento da unidade opcional pode ser um dos seguintes: S (segundos), D (dias completos), M (meses completos), Y (anos completos), YD (dias completos, ignorando anos), YM (meses completos, ignorando dias e anos), MD (dias completos, ignorando meses e anos). | dateDif('2018-01-01', '2020-01-01') | 2 |
O argumento da unidade opcional pode ser um dos seguintes: S (segundos), D (dias completos), M (meses completos), Y (anos completos), YD (dias completos, sem ter em conta os anos), YM (meses completos, sem ter em conta os dias e anos), MD (dias completos, sem ter em conta os meses e anos). | dataDif('2019-10-11', '2020-12-12', 'M') | 14 | |
dia(data) | Devolve o dia de uma data como um número. O número devolvido situa-se entre 1 e 31. | dia('2020-01-03') | 3 |
dias(startDate, endDate) | Devolve o número de dias entre dois valores de data (startDate e endDate). | days('2020-01-01', '2020-02-03') | 33 |
eomonth(startDate, meses) | Determina a data do último dia do mês que é o número especificado (meses) de meses após a data especificada (startDate). Se o número (meses) for dado como 0, o último dia do mês é simplesmente determinado. | eomonth('2020-01-01', 1) | 2020-02-29 |
Se o número (meses) for dado como negativo, é determinada a data do último dia do mês que contém o número absoluto (meses) de meses antes da data especificada (startDate). | eomonth('2020-01-01', -1) | 2019-12-31 | |
hora(data) | Retorna a hora de uma hora (data) como um número. O número devolvido situa-se entre 0 e 23. | hora('2020-02-14 13:14:52') | 13 |
Se não houver hora na hora (data), 0 é devolvido. | hora('2020-02-14') | 0 | |
horas(startDate, endDate) | Retorna o número de horas entre dois valores de data (startDate e endDate). As actas nos valores das datas não são tidas em conta. | horas('2020-02-14 13:14', '2020-02-14 15:14') | 2 |
Se não forem incluídas horas na especificação da hora (startDate ou endDate), assume-se automaticamente as 0 horas desse dia. | horas('2020-02-14', '2020-02-14 15:14') | 15 | |
minuto(data) | Retorna a acta de uma hora (data) como um número. O número devolvido situa-se entre 0 e 59. | minuto('2020-02-14 13:14:52') | 14 |
Se não houver minutos na hora (data), 0 é devolvido. | minuto('2020-02-14') | 0 | |
mês(data) | Devolve o mês de uma data como um número. O número devolvido situa-se entre 1 (Janeiro) e 12 (Dezembro). | mês('2020-02-14 13:14:52') | 2 |
meses(startDate, endDate) | Devolve o número de meses entre dois valores de data (startDate e endDate). Os dias e a hora nos valores de data não são tidos em conta. | meses('2020-02-01 13:14', '2020-03-31 15:54') | 1 |
Se não for indicado um mês nos valores de data (startDate, endDate), Janeiro é automaticamente assumido como o mês. | meses('2020', '2021') | 12 | |
dias de rede(startDate, endDate, holiday1, holiday2, ...) | Devolve o número de dias úteis completos entre dois valores de data (startDate e endDate). Também se podem definir outros feriados para além de sábado e domingo (feriado1, feriado2, etc.), estes também serão deduzidos. Se não forem incluídos feriados no cálculo, estes parâmetros podem simplesmente ser omitidos. | networkdays('2020-01-01', '2020-01-07','2020-01-01') | 4 |
Note-se que o último dia especificado (endDate) também é contado na fórmula. Ou seja, como por exemplo nesta fórmula, são contados três dias úteis: 7, 8 e 9 de Setembro de 2020. | networkdays('2020-09-07', '2020-09-09') | 3 | |
agora() | Devolve a data e hora actuais. Esta coluna só é actualizada automaticamente quando a base tiver sido recarregada. | agora() | 2020-09-07 12:59 |
segundo(data) | Retorna os segundos de uma hora (data) como um número. O número devolvido situa-se entre 0 e 59. | segundo('2020-02-14 13:14:52') | 52 |
hoje() | Devolve a data actual. Esta coluna só é actualizada automaticamente quando a base tiver sido recarregada. | hoje() | 2020-09-07 |
Esta função é conveniente para calcular a duração do tempo entre uma determinada data & hora e agora. Em cada recarga ou recálculo da base, o cálculo é actualizado. | networkdays('2020-09-01', today()) | 4 | |
dia da semana(data, semanaInício) | Devolve o dia da semana de uma data como um número. O número devolvido é entre 1 e 7. Pode definir o primeiro dia da semana (weekStart): Segunda-feira ('segunda-feira') ou domingo ('domingo') ou deixar de fora, porque o início como domingo é por defeito). Uma terceira opção não é possível. A caixa superior/inferior não é tida em conta. | weekday('2020-01-01', 'Monday') | 3 |
Se não for dada uma 'weekStart' ou se for dada uma 'weekStart' que não seja 'segunda-feira' ou 'domingo', assume-se sempre que é 'domingo'. Portanto, se deve ser "segunda-feira", introduzir "segunda-feira"; se deve ser "domingo", pode omitir este parâmetro. | weekday('2020-01-01', 'Thursday') OU weekday('2020-01-01') | 4 | |
weeknum(data, retorno_tipo) | Retorna o número absoluto da semana de uma data como um número. O número devolvido é entre 1 e 53. Aqui pode definir o primeiro dia da semana (return_type). Introduzir o número 1 ou 2, ou 11 a 17, e 21 como "return_type" para definir o início de uma semana: 1/Sunday、2/Monday、11/Monday、12/Tuesday、13/Wednesday、14/Thursday、15/Friday、16/Saturday、17/Sunday. Se o número da semana deve ser devolvido de acordo com a norma ISO, especificar o número 21 como "return_type", ou utilizar a função isoweeknum. | weeknum('2020-01-12', 11) | 2 |
Se não for dado 'return_type', assume-se sempre que é 'domingo'. | weeknum('2020-01-12') | 3 | |
isoweeknum(data) | Devolve o número de semana ISO (KW) de uma data como um número. | isoweeknum('2021-01-04') | 1 |
Diferente da função weeknum(): com a função isoweeknum() também se obtém por vezes um número de semana que ainda se encontra no ano anterior. Neste exemplo: 1 de Janeiro de 2021 pertence à 53ª semana de calendário de 2020, de acordo com a norma ISO. | isoweeknum('2021-01-01') | 53 | |
ano(data) | Devolve o ano de uma data como um número. | ano ('2020-01-01') | 2020 |
Funções lógicas
Operador | Descrição | Exemplo de entrada | Resultado |
---|---|---|---|
e(lógico1, lógico2, ...) | Verifica se todos os argumentos (lógico1, lógico2, ...) são verdadeiros (válidos, não vazios e não nulos). Se assim for, 'verdadeiro' é devolvido, caso contrário 'falso'. | e(1, '', 2) | falso |
if(lógico, valor1, valor2) | Verifica se um argumento (lógico) é verdadeiro e se sim, retorna o primeiro valor (valor1) e se não, retorna o segundo valor (valor2). Atenção: os dois valores (valor1 e valor2) devem ser do mesmo tipo, por exemplo, ambos devem ser string, ou número. Caso contrário, o primeiro resultado definirá o tipo de coluna e onde deve acrescentar o segundo valor, será preenchido um valor vazio. | if(1>2, 3, 4) | 4 |
Para condição (lógica), só é permitida uma comparação com. Se introduzir apenas a condição (lógica) e o primeiro valor (valor1): devolverá o primeiro valor (valor1) se a condição (lógica) for verdadeira; e devolverá um valor vazio ('') se a condição (lógica) for falsa. | if({Orçamento}>{Preço}, 'Sim') | Sim | |
ifs(lógico1, valor1, lógico2, valor2, ...) | 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 |
não(booleano) | Inverte o valor lógico (booleano). Por outras palavras: converte 'verdadeiro' em 'falso' e 'falso' em 'verdadeiro'. | não(e(1, '', 2)) | Verdadeiro |
or(logical1, logical2, ...) | Verifica se pelo menos 1 dos argumentos (valor1, valor2, ...) é verdadeiro (válido, não vazio e não zero) e retorna "verdadeiro" neste caso. Se todos os argumentos forem falsos, então devolve 'falsos'. | ou(1, '', 2) | Verdadeiro |
switch(lógico, matcher1, valor1, matcher2, valor2, ..., por defeito) | Avalia uma expressão (lógica) em relação a uma lista de valores (fósforo) e retorna o resultado (valor) que corresponde ao primeiro valor de fósforo. Se não houver correspondência, então é devolvido um valor por defeito opcional. Devem ser especificados pelo menos 3 parâmetros (lógico, de concordância, de valor). | switch({valores}, 1, 'muito bom', 2, 'bom', 3, 'satisfatório', 4, 'passado', 'falhado') | Muito bom |
Se houver vários valores idênticos na lista de valores (matcher), apenas a primeira correspondência é tida em conta. | switch(int(68/10), 6, 'OK', 6, 'KO') | OK | |
xor(lógico1, lógico2, ...) | Retorna a contravalência de todos os argumentos. Por outras palavras: Verifica se o número de argumentos verdadeiros (lógicos) é estranho e retorna o valor "verdadeiro". | xor(1, 0, 2<1, 1) | falso |
Funções estatísticas
Operador | Descrição | Exemplos |
---|---|---|
média(número1, número2, ...) | Devolve a média dos números (número1, número2, ...). | = 3 |
contagem(número1, número2, ...) | Devolve o número de números (número1, número2, ...). Só são considerados números válidos e não vazios. Neste exemplo, '' é um valor vazio, e '3' não é um número mas um texto. | = 2 |
counta(textORnumber1, textORnumber2, ...) | Conta o número de células não vazias (textORnumber1, textORnumber2, ...). Estas células podem ser texto ou número. Neste exemplo, 1 e 2 são números, '3' é um texto, e '' é um valor vazio. | = 3 |
countall(textORnumber1, textORnumber2, ...) | Conta o número de elementos (textORnumber1, textORnumber2, ...) incluindo números (1, 2), texto ('3') e células vazias ('''). | = 4 |
countblank(textORnumber1, textORnumber2, ...) | Conta o número de células vazias. | = 1 |
countItems("column-name") | Conta o número de artigos de uma célula. Os tipos de coluna suportados são selecção múltipla, empregado, ficheiro e imagem. | = 6 |
max(número1, número2, ...) | Devolve o maior valor dos números especificados (número1, número2, ...). | = 4 |
min(número1, número2, ...) | Devolve o menor valor dos números especificados (número1, número2, ...). | = -1 |
grande(num1, num2, ..., k) | Devolve o valor k-mais alto da lista de números (num1, num2, ...). Neste exemplo: grande(35, 92, 10, 2) devolve os 2 maiores valores de (35, 92, 10), que são 35. | = 35 |
pequeno(num1, num2, ..., k) | Retorna o valor k-pequeno da lista de números (num1, num2, ...). Neste exemplo: pequeno(9, 2, -7, -3, -3) devolve o 3 menor valor de (9, 2, -7, -3), que é 2. | = 2 |
Funções de ligação
Pode utilizar as funções de ligação como uma fórmula ou configurá-las mais facilmente com a coluna "Fórmula de ligação".
Operador | Descrição | Exemplo de entrada |
---|---|---|
ligações de contagem("Coluna", [condição]) | Conta as entradas ligadas na coluna de ligação dada. As entradas podem ser filtradas com a condição de parâmetro opcional([condição]). No exemplo: Na tabela actual existe uma coluna de ligação "Oradores". Numa das suas células há várias entradas ligadas. Agora queremos contar quantos links existem em cada célula onde o "Preço" na entrada ligada é superior a 500. | = 3 (O número de registos ligados à coluna "Oradores" em que "Preço" é superior a 500). |
rollup("Coluna", "Outra coluna", resumo, [condição]) | Retorna um valor avaliado de entradas ligadas em outras tabelas. Ao ligar a partir da coluna "Coluna", as entradas na coluna "Outra coluna" da tabela ligada são avaliadas. Os métodos sumários que podem ser executados são 'média', 'concatenar', 'contar', 'max', 'min' e 'soma'. Opcionalmente, podem ser aplicadas condições de filtragem. No exemplo: Na tabela actual existe uma coluna de ligação 'Oradores' que está ligada a outra tabela. Uma vez que cada "Orador" está ligado a múltiplas entradas, queremos descobrir, com um "Preço" inferior a 500, qual é a maior "Potência" para cada "Orador". | = 80 (O maior valor das entradas ligadas à coluna "Oradores" em "Potência" em que o "Preço" é inferior a 500). |
lookup(findmax("Coluna", "Outra coluna"), "Alvo") | Procura o maior valor na coluna ligada ("Outra coluna") e devolve o valor na mesma linha a partir de outra coluna ("Alvo"). Especifica-se qual a coluna de ligação ("Coluna"), e qual a coluna de ligação ("Outra coluna") e a coluna de destino ("Destino") a utilizar. No exemplo: Na tabela actual existe uma coluna de ligação "Oradores" que está ligada a outra tabela. Uma vez que cada "Orador" está ligado a várias entradas, queremos saber qual o "Preço" que cada "Orador" tem pelo seu maior "Poder". | = 350 (Devolve o maior valor "Preço" em "Potência" ligado à coluna "Altifalantes"). |
lookup(findmin("Coluna", "Outra coluna"), "Alvo") | Procura o menor valor na coluna ligada ("Outra coluna") e devolve o valor na mesma linha de outra coluna ("Alvo"). Especifica-se que coluna de ligação ("Coluna"), e que coluna de ligação ("Outra coluna") e coluna de destino ("Destino") devem ser utilizadas. No exemplo: Na tabela actual existe uma coluna de ligação "Oradores" que está ligada a outra tabela. Uma vez que cada "Orador" está ligado a várias entradas, queremos saber qual o "Preço" que cada "Orador" tem pelo seu "Poder" mais pequeno. | = 210 (O "Preço" do valor mais pequeno em "Potência" ligado à coluna "Altifalantes"). |