Colonne de formules dans SeaTable
L'une des fonctions les plus puissantes de SeaTable est la colonne des formules. Les formules permettent de transformer, de calculer, de combiner ou d'agréger automatiquement les valeurs d'autres colonnes du tableau actuel ou même d'un autre tableau (lié) de la même base. Vous pouvez bien sûr y ajouter d'autres colonnes de formules qui prennent les résultats des colonnes de formules existantes et les calculent. Les colonnes de formules qui dépendent des autres colonnes sont automatiquement mises à jour dès que les valeurs y sont modifiées.
Actuellement, SeaTable propose les fonctions suivantes dans la colonne "Formule" :
- Constantes
- Opérandes
- Fonctions mathématiques
- Fonctions de texte
- Fonctions de date
- Fonctions logiques
- Fonctions statistiques
Et une collection de fonctions de lien dans la colonne "Formule de lien" :
- Fonctions de liaison
Outre les fonctions ci-dessus, l'éditeur de formules contient encore une ou plusieurs listes de colonnes. Il s'agit des colonnes du tableau actuel et des colonnes liées de l'autre tableau de la base. Si vous cliquez sur le symbole "+" à côté, le nom de la colonne est ajouté comme élément dans le champ de saisie, et ce dans le format {nom de la colonne} ou {table liée.nom de la colonne}. Vous pouvez utiliser cet élément directement dans votre formule. Vous pouvez également saisir manuellement un nom de colonne sous la forme {nom de colonne}.
Dans cet article, nous vous présentons un aperçu complet de toutes les formules de SeaTable avec des exemples correspondants. Si vous recherchez une fonction spécifique, vous pouvez utiliser la combinaison de touches
La collection de formules de SeaTable avec des exemples
Constantes
Opérateur | Description | Exemples |
---|---|---|
e | Retourne le nombre d'Euler e=2.71828... | = 3.71828183 |
pi | Retourne le nombre circulaire Pi. | = 3.14159265 |
true() | Renvoie la valeur logique 'true'. | = true |
false() | Renvoie la valeur logique 'false'. | = false |
Opérandes
Opérateur | Description | Exemples |
---|---|---|
add(num1, num2) | Additionne deux valeurs numériques (num1 et num2) et renvoie le résultat. | = 3 |
Alternative : + | = 3 |
|
soustraire(num1, num2) | Soustrait une valeur numérique (num2) d'une autre (num1). | = 1 |
Alternative : - | = 1 |
|
multiply(num1, num2) | Multiplie deux valeurs numériques. | = 12 |
Alternative : *. | = 12 |
|
divide(num1, num2) | Divise une valeur numérique (num1) par une autre (num2). | = 2.5 |
Alternative : / | = 1.5 |
|
mod(num1, num2) | Calcule le reste d'une division. | = 3 |
Alternative : %. | = 1 |
|
power(num1, num2) | Calcule la puissance (num2) d'un nombre (num1). | = 9 |
Alternative : ^ | = 9 |
|
greater(num1, num2) | Vérifie si une valeur numérique (num1) est supérieure à une autre (num2) et renvoie la valeur logique 'true' ou 'false'. | = false |
Alternativement : > > | = false |
|
lessthan(num1, num2) | Vérifie si une valeur numérique (num1) est inférieure à une autre (num2) et renvoie la valeur logique 'true' ou 'false'. | = true |
Alternativ: < | = true |
|
greatereq(num1, num2) | Vérifie si une valeur numérique (num1) est supérieure ou égale à une autre (num2) et renvoie la valeur logique 'true' ou 'false'. | = false |
Alternative : >= | = false |
|
lessthaneq(num1, num2) | Vérifie si une valeur numérique (num1) est inférieure ou égale à une autre (num2) et renvoie la valeur logique 'true' ou 'false'. | = true |
Alternativ: <= | = true |
|
equal(nombre1, nombre2) | Vérifie si deux valeurs (number1, number 2) sont égales et renvoie respectivement la valeur logique 'true' ou 'false'. | = false |
Alternative : = | = false |
|
unequal(nombre1, nombre2) | Vérifie si deux valeurs (number1, number2) ne sont pas égales et renvoie respectivement la valeur logique 'true' ou 'false'. | = true |
Alternative : <> | = true |
|
concatenate(chaîne1, chaîne2, ...) | Combine plusieurs chaînes de caractères (string1, string 2, ...) en une seule chaîne de caractères. | = Linux est génial |
Alternative : & | = Linux est génial |
Fonctions mathématiques
Opérateur | Description | Exemple de saisie | Résultat |
---|---|---|---|
abs(nombre) | Renvoie la valeur absolue d'un nombre (number). | abs(-2) | 2 |
ceiling(nombre, importance) | Arrondit un nombre (number) à l'entier le plus proche ou au multiple le plus proche de l'étape spécifiée (significance). Si l'un des deux arguments est non-numérique, la formule renvoie une valeur vide. | ceiling(2.14) | 3 |
Si le nombre est un multiple exact de l'étape (significance), aucun arrondi n'est effectué. Si le nombre et le pas sont négatifs, l'arrondi s'éloigne de 0. Si le nombre est négatif et le pas positif, l'arrondi se rapproche de 0. | ceiling(-2.14, 4) | 0 | |
even(nombre) | Associe à un nombre réel (number) le nombre pair supérieur le plus proche. | even(2.14) | 4 |
exp(nombre) | Fonction exponentielle pour le nombre d'Euler e. Renvoie la valeur de e à la puissance d'un nombre donné (number). | exp(1) | 2.71828... |
floor(nombre, significance) | Arrondit un nombre (number) à l'entier le plus proche ou au multiple le plus proche de l'étape spécifiée (significance). Si l'un des deux arguments est non-numérique, la formule renvoie une valeur vide. | floor(2.86) | 2 |
Si le nombre (number) est un multiple exact du pas (significance), il n'y a pas d'arrondi. Si le signe du nombre est positif, l'arrondi se fait vers 0. Si le signe du nombre est négatif, l'arrondi se fait vers 0. | floor(-3.14, 5) | -5 | |
int(nombre) | Associe à un nombre réel (number) le plus petit nombre entier le plus proche. | int(-3.14) | -4 |
lg(numéro) | Fonction logarithme (nombre) avec 10 comme base. | lg(100) | 2 |
ln(nombre) | Fonction logarithme (nombre) avec le nombre d'Euler e comme base. | ln(e) | 1 |
log(nombre, base) | Fonction logarithme (number) avec base définissable (base). | log(81, 3) | 4 |
Mais si aucune base n'est donnée, cette fonction agit exactement comme lg(), c'est-à-dire avec 10 comme base. | log(1000) | 3 | |
odd(nombre) | Associe à un nombre réel (number) le nombre impair supérieur le plus proche. | odd(-2.14) | -1 |
round(nombre, chiffres) | Arrondit un nombre (number) à un certain nombre de décimales (digits). Si aucune décimale (digits) n'est indiquée, le nombre est arrondi à la 1ère position à gauche de la virgule. | round(3.14) | 3 |
Si une décimale positive (digits) est donnée, elle est arrondie à la position à droite de la virgule. | round(3.14, 1) | 3.1 | |
Si une décimale négative (digits) est donnée, est arrondi à gauche de la virgule. | round(3.14, -3) | 0 | |
round(99.1, -2) | 100 | ||
rounddown(nombre, chiffres) | Arrondit un nombre (number) vers zéro. Si aucune décimale (digits) n'est donnée, le nombre est arrondi au premier chiffre à gauche de la virgule. | rounddown(3.12, 1) | 3.1 |
rounddown(-3.15) | -3 | ||
roundup(nombre, chiffres) | Arrondit un nombre (numbers) à partir de zéro. Si aucune décimale (digits) n'est donnée, le nombre est arrondi au premier chiffre à gauche de la virgule. | roundup(3.12, 1) | 3.2 |
roundup(-3.15) | -4 | ||
sign(nombre) | Vérifie si un nombre (number) est supérieur, égal ou inférieur à 0. Renvoie respectivement les valeurs 1, 0 et -1. En d'autres termes, il renvoie le signe d'un nombre, respectivement pour '+', 'zéro' et '-' avec 1, 0 et -1. | sign(-2) | -1 |
sqrt(nombre) | Renvoie la racine carrée d'un nombre (number). | sqrt(81) | 9 |
sum(num1, num2, ...) | Renvoie la somme des nombres (num1, num2, ...). | sum(7,8,9) | 24 |
Fonctions de texte
Opérateur | Description | Exemple de saisie | Résultat |
---|---|---|---|
exact(chaîne1, chaîne2) | Vérifie si deux chaînes de caractères (string1, string2) sont exactement identiques. Renvoie les valeurs 'true' ou 'false'. Respecte les majuscules et les minuscules. | exact('SeaTable', 'Seatable') | false |
find(findString, sourceString, startPosition) | Renvoie la position de départ d'une chaîne de caractères (findString) dans une autre chaîne de caractères (sourceString). Respecte les majuscules et les minuscules. Sans trouvaille, 0 est renvoyé. Si la position de départ (startPosition) est donnée en décimal, elle est arrondie vers le bas. Si la cellule de la colonne du mot-clé (findString) est encore vide, 1 est renvoyé. Si la cellule de la colonne de la chaîne cible (sourceString) est encore vide, une valeur vide ('') est renvoyée. | find('Sea', 'seaTable', 1) | 0 |
La recherche commencera à partir de la 'startPosition' donnée. Cette 'startPosition' n'a cependant aucune influence sur le résultat : il renvoie alors toujours la position de départ absolue. Si la 'startPosition' de la chaîne de caractères à rechercher (findString) a été donnée après la position de départ réelle de la chaîne de caractères (sourceString), 0 est renvoyé car rien n'a été trouvé à partir de cette position. | find('table', 'big table', 4) | 5 | |
find('table', 'big table', 6) | 0 | ||
left(chaîne, compte) | Renvoie le nombre spécifié (count) de caractères au début d'une chaîne de caractères (string). | left('SeaTable', 3) | Mer |
len(chaîne) | Renvoie le nombre de caractères dans une chaîne de caractères (string). | len('SeaTable') | 8 |
lower(chaîne) | Convertit une chaîne de caractères (string) en minuscules. | lower('Français') | allemand |
mid(chaîne, position de départ, compte) | Renvoie le nombre spécifié (count) de caractères à partir de la position de départ spécifiée (startPosition) dans une chaîne de caractères (string). | mid('SeaTable est le meilleur', 1, 8) | SeaTable |
La position de départ (startPosition) et le nombre (count) ne peuvent pas être vides, négatifs ou égaux à zéro. Mais si la position de départ (startPosition) et le nombre (count) sont donnés en décimales, ils sont arrondis vers le bas. Les nombres (count) donnés en trop sont ignorés. | mid('SeaTable est le meilleur.', 10.9, 27.3) | est le meilleur. | |
replace(sourceString, startPosition, count, newString) | Remplace une partie (count) d'une chaîne de caractères (sourceString) à partir d'une certaine position de départ (startPosition) par une autre chaîne de caractères (newString). Le nombre de caractères (count) n'est pris en compte que pour l'ancienne chaîne de caractères (sourceString), mais pas pour la nouvelle chaîne de caractères (newString). | replace('SeaTable est le meilleur.', 1, 8, 'Seafile') | Seafile est le meilleur. |
Si le nombre (count) est donné comme zéro, la nouvelle chaîne (newString) est simplement ajoutée à partir de la position de départ (startPosition) dans l'ancienne chaîne (sourceString). | replace('SeaTable est le meilleur.', 1, 0, 'Seafile') | SeafileSeaTable est le meilleur. | |
rept(chaîne, numéro) | Répète une chaîne de caractères (string) autant de fois (number) que spécifié. | rept('Sea ', 3) | Sea Sea Sea |
right(chaîne, nombre) | Renvoie le nombre spécifié (count) de caractères à la fin d'une chaîne de caractères (string). | right('SeaTable', 5) | Table |
search(findString, sourceString, startPosition) | Renvoie la position de départ d'une chaîne de caractères (findString) dans une autre chaîne de caractères (sourceString). N'est pas sensible à la casse. Sans trouvaille, 0 est renvoyé. Si la position de départ (startPosition) est donnée en décimal, elle est arrondie vers le bas. Si la cellule de la colonne du mot-clé (findString) est encore vide, 1 est renvoyé. Si la cellule de la colonne de la chaîne cible (sourceString) est encore vide, une valeur vide ('') est renvoyée. | search('Sea', 'seaTable', 1) | 1 |
La recherche commencera à partir de la 'startPosition' donnée. Cette 'startPosition' n'a cependant aucune influence sur le résultat : il renvoie alors toujours la position de départ absolue. Si la 'startPosition' de la chaîne de caractères à rechercher (findString) a été donnée après la position de départ réelle de la chaîne de caractères (sourceString), 0 est renvoyé car rien n'a été trouvé à partir de cette position. | search('table', 'big table', 4) | 5 | |
search('table', 'big table', 6) | 0 | ||
substitute(sourceString, oldString, newString, index) | Remplace le texte existant (oldString) par un nouveau texte (newString) dans une chaîne de caractères (sourceString). Si la chaîne de caractères (sourceString) contient plusieurs fois le texte (oldString), seul le texte 'index' est remplacé. Les majuscules et les minuscules sont respectées. | substitute('SeaTableTable', 'Table', 'file', 1) | SeafileTable |
Si l'index (index) est donné comme 0 ou non, toutes les parties de texte trouvées (oldString) sont remplacées par le nouveau texte (newString). | substitute('SeaTableTable', 'Table', 'file') | Seafilefile | |
T(valeur) | Vérifie si une valeur (value) est un texte. Si oui, le texte est renvoyé. Si non, la valeur de retour est vide. | T(123) | (vide) |
T('123') | 123 | ||
texte(nombre, format) | Convertit un nombre (number) en texte et le met en forme dans le format spécifié (format). Le format peut être un pourcentage ('percent') et un nombre, ainsi que des dollars ('dollar'), des euros ('euro') et des yuans ('yuan'). | texte(150, 'euro') | €150 |
Lorsqu'un nombre est directement converti en pourcentage, sa valeur absolue est conservée. Cela signifie que 50 sera converti en 5000%. Mais si tu veux 50%, tu dois encore diviser le nombre (number) par 100 avant la conversion. | texte(50, 'pourcentage') | 5000% | |
texte(50/100, 'pourcentage') | 50% | ||
trim(chaîne) | Supprime les espaces au début et à la fin d'une chaîne de caractères (string). | trim(' SeaTable ') | SeaTable |
upper(chaîne) | Convertit une chaîne de caractères (string) en majuscules. | upper('French') | ALLEMAND |
value(chaîne) | Convertit un texte (string) représentant un nombre en un nombre. | valeur('123') | 123 |
Fonctions de date
Opérateur | Description | Exemple de saisie | Résultat |
---|---|---|---|
+ | Ajoute des jours ou des durées à une date avec ou sans minutes. Si la colonne de date n'a pas de minutes, 00:00 de ce jour est pris comme valeur par défaut. | date(2021, 1, 31)+1 | 2021-02-01 |
Par exemple, si une durée de 8 heures 20 minutes est indiquée dans la colonne {durée} : | date(2021, 1, 31)+{durée} | 2021-01-31 08:20 | |
- | Soustrait les jours ou la durée d'une date avec ou sans minutes. Si la colonne de date n'a pas de minutes, 00:00 de ce jour est pris comme valeur par défaut. | date(2021, 1, 31) - 30 | 2021-01-01 |
Par exemple, si une durée de 8 heures 20 minutes est indiquée dans la colonne {durée} : | date(2021, 1, 31)-{durée} | 2021-01-30 15:40 | |
Avec {Date1}-{Date2}, il renvoie le décalage horaire en jours. | date(2021, 1, 31)-date(2020, 12, 23) | 39 | |
date(année, mois, jour) | Renvoie une date au format international (ISO) à partir de l'année (year), du mois (month) et du jour (day) saisis. Si l'année (year) est saisie avec deux chiffres, elle est automatiquement comprise comme une année dans les années 1900. Si le chiffre du mois (month) ou du jour (day) est trop grand (respectivement plus grand que 12 ou 31), ces mois ou jours sont automatiquement convertis en l'année ou le mois suivant. | date(2021, 1, 3) | 2021-01-03 |
dateAdd(date, count, unit) | Ajoute le nombre indiqué (count) d'années ('years'), de mois ('months'), de semaines ('weeks'), de jours ('days'), d'heures ('hours'), de minutes ('minutes') ou de secondes ('seconds') à une date/heure (date). | dateAdd('2020-02-03', 2, 'days') | 2020-02-05 |
Astuce : si vous voulez ajouter une durée complexe (count) comme 1 jour 12 heures, vous pouvez la convertir en 24+12=36 heures ('hours') et l'introduire dans la formule comme une durée uniforme (count). La durée est alors convertie dans la plus petite unité : dans ce cas, les heures. | 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) | Calcule les secondes, les jours, les mois ou les années entre deux valeurs de date. L'argument d'unité facultatif peut être l'un des suivants : S (secondes), D (jours complets), M (mois complets), Y (années complètes), YD (jours complets, sans tenir compte des années), YM (mois complets, sans tenir compte des jours et des années), MD (jours complets, sans tenir compte des mois et des années). | dateDif('2018-01-01', '2020-01-01') | 2 |
L'argument d'unité facultatif peut être l'un des suivants : S (secondes), D (jours complets), M (mois complets), Y (années complètes), YD (jours complets, sans tenir compte des années), YM (mois complets, sans tenir compte des jours et des années), MD (jours complets, sans tenir compte des mois et des années). | dateDif('2019-10-11', '2020-12-12', 'M') | 14 | |
day(date) | Renvoie le jour d'une date (date) sous la forme d'un nombre. Le nombre retourné est compris entre 1 et 31. | day('2020-01-03') | 3 |
days(startDate, endDate) | Renvoie le nombre de jours entre deux valeurs de date (startDate et endDate). | days('2020-01-01', '2020-02-03') | 33 |
eomonth(startDate, mois) | Détermine la date du dernier jour du mois qui se situe le nombre de mois indiqué (months) après la date indiquée (startDate). Si le nombre (months) est 0, le système détermine simplement le dernier jour du mois. | eomonth('2020-01-01', 1) | 2020-02-29 |
Si le nombre (months) est donné comme négatif, la date du dernier jour du mois qui correspond au nombre absolu (months) de mois avant la date indiquée (startDate) est déterminée. | eomonth('2020-01-01', -1) | 2019-12-31 | |
hour(date) | Renvoie l'heure d'une donnée temporelle (date) sous la forme d'un nombre. Le nombre renvoyé est compris entre 0 et 23. | hour('2020-02-14 13:14:52') | 13 |
Si aucune heure n'est contenue dans la donnée temporelle (date), 0 est renvoyé. | hour('2020-02-14') | 0 | |
hours(startDate, endDate) | Renvoie le nombre d'heures entre deux valeurs de date (startDate et endDate). Les minutes dans les valeurs de date ne sont pas prises en compte. | hours('2020-02-14 13:14', '2020-02-14 15:14') | 2 |
Si aucune heure ne figure dans l'indication de l'heure (startDate ou endDate), 0 heure est automatiquement prise en compte ce jour-là. | hours('2020-02-14', '2020-02-14 15:14') | 15 | |
minute(date) | Renvoie les minutes d'une donnée temporelle (date) sous forme de nombre. Le nombre renvoyé est compris entre 0 et 59. | minute('2020-02-14 13:14:52') | 14 |
Si aucune minute n'est contenue dans l'indication de temps (date), 0 est renvoyé. | minute('2020-02-14') | 0 | |
mois(date) | Renvoie le mois d'une date (date) sous forme de nombre. Le nombre retourné est compris entre 1 (janvier) et 12 (décembre). | month('2020-02-14 13:14:52') | 2 |
months(startDate, endDate) | Renvoie le nombre de mois entre deux valeurs de date (startDate et endDate). Les jours et les heures dans les valeurs de date ne sont pas pris en compte. | months('2020-02-01 13:14', '2020-03-31 15:54') | 1 |
Si aucun mois n'est indiqué dans les valeurs de date (startDate, endDate), le mois de janvier est automatiquement pris en compte. | mois('2020', '2021') | 12 | |
networkdays(startDate, endDate, holiday1, holiday2, ...) | Renvoie le nombre de jours ouvrables entiers entre deux valeurs de date (startDate et endDate). Il est possible de définir des jours fériés autres que le samedi et le dimanche (holiday1, holiday2, etc.), qui seront également déduits. Si aucun jour férié ne doit être pris en compte, il suffit de laisser ces paramètres de côté. | networkdays('2020-01-01', '2020-01-07','2020-01-01') | 4 |
Veillez à ce que le dernier jour indiqué (endDate) soit également pris en compte dans la formule. Cela signifie, comme par exemple dans cette formule, que trois jours ouvrables sont comptés : les 7, 8 et 9 de septembre, 2020. | networkdays('2020-09-07', '2020-09-09') | 3 | |
now() | Renvoie la date et l'heure actuelles. Cette colonne n'est automatiquement mise à jour que si la base a été rechargée. | now() | 2020-09-07 12:59 |
second(date) | Renvoie les secondes d'une donnée temporelle (date) sous forme de nombre. Le nombre renvoyé est compris entre 0 et 59. | second('2020-02-14 13:14:52') | 52 |
today() | Renvoie la date actuelle. Cette colonne n'est automatiquement mise à jour que si la base a été rechargée. | today() | 2020-09-07 |
Cette fonction est pratique pour calculer la durée entre une certaine date & heure et maintenant. A chaque rechargement ou recalcul de la base, le calcul est mis à jour. | networkdays('2020-09-01', today()) | 4 | |
weekday(date, weekStart) | Renvoie le jour de la semaine d'une date (date) sous forme de nombre. Le nombre retourné est compris entre 1 et 7, avec la possibilité de définir le premier jour de la semaine (weekStart) : Lundi ('Monday') ou Dimanche ('Sunday' ou à laisser de côté, car le début comme dimanche est standard). Une troisième option n'est pas possible. Les majuscules et les minuscules ne sont pas prises en compte. | weekday('2020-01-01', 'Monday') | 3 |
Si aucun 'weekStart' n'est donné ou si un 'weekStart' autre que 'Monday' ou 'Sunday' est donné, il sera toujours considéré comme 'Sunday'. Par conséquent, si c'est 'Monday', entrez 'Monday' ; si c'est 'Sunday', vous pouvez omettre ce paramètre. | weekday('2020-01-01', 'Thursday') OU weekday('2020-01-01') | 4 | |
weeknum(date, return_type) | Renvoie le numéro absolu de la semaine d'une date (date) sous forme de nombre. Le nombre renvoyé est compris entre 1 et 53, avec la possibilité de définir le premier jour de la semaine (return_type). Entrez le nombre 1 ou 2, ou 11 à 17, ainsi que 21 comme "return_type" pour définir le début d'une semaine : 1/dimanche、2/lundi、11/lundi、12/mardi、13/mercredi、14/jeudi、15/vendredi、16/samedi、17/dimanche. Si le numéro de semaine doit être renvoyé selon la norme ISO, indiquez le nombre 21 comme "return_type" ou utilisez la fonction isoweeknum. | weeknum('2020-01-12', 11) | 2 |
Si aucun 'return_type' n'est donné, il est toujours supposé être 'dimanche'. | weeknum('2020-01-12') | 3 | |
isoweeknum(date) | Renvoie le numéro de semaine ISO (KW) d'une date sous forme de nombre. | isoweeknum('2021-01-04') | 1 |
Différent de la fonction weeknum() : avec la fonction isoweeknum(), vous obtenez parfois aussi un numéro de semaine qui se situe encore dans l'année précédente. Dans cet exemple : le 1er janvier 2021 appartient à la 53e semaine calendaire de l'année 2020, selon la norme ISO. | isoweeknum('2021-01-01') | 53 | |
year(date) | Renvoie l'année d'une date (date) sous forme de nombre. | année('2020-01-01') | 2020 |
Fonctions logiques
Opérateur | Description | Exemple de saisie | Résultat |
---|---|---|---|
and(logique1, logique2, ...) | Vérifie si tous les arguments (logical1, logical2, ...) sont vrais (valides, non vides et non nuls). Si oui, 'true' est renvoyé, sinon 'false'. | and(1, '', 2) | false |
if(logique, valeur1, valeur2) | Vérifie si un argument (logique) est vrai et si oui, renvoie la première valeur (value1) et si non, renvoie la seconde valeur (value2). Attention : les deux valeurs (value1 et value2) doivent être du même type, par exemple les deux doivent être des chaînes, ou des nombres. Sinon, le premier résultat définira le type de colonne et là où il faut ajouter la deuxième valeur, une valeur vide sera remplie. | if(1>2, 3, 4) | 4 |
Pour la condition (logical), seule une comparaison avec est autorisée. Si vous ne saisissez que la condition (logical) et la première valeur (value1) : il retournera la première valeur (value1) si la condition (logical) est vraie ; et il retournera une valeur vide ('') si la condition (logical) est fausse. | if({Budget}>{Prix}, 'Oui') | Oui | |
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(booléen) | Inverse la valeur logique (booléen). En d'autres termes : transforme 'true' en 'false' et 'false' en 'true'. | not(and(1, '', 2)) | true |
or(logical1, logical2, ...) | Vérifie si au moins 1 des arguments (valeur1, valeur2, ...) est vrai (valide, non vide et non nul), et renvoie dans ce cas 'true'. Si tous les arguments sont faux, renvoie alors 'false'. | or(1, '', 2) | true |
switch(logique, matcher1, value1, matcher2, value2, ..., default) | Evalue une expression (logical) à l'aide d'une liste de valeurs (matcher) et renvoie le résultat (value) correspondant à la première valeur qui correspond. S'il n'y a pas de correspondance, une valeur par défaut optionnelle (default) est renvoyée. Au moins 3 paramètres (logical, matcher, value) doivent être indiqués. | switch({Notes}, 1, 'Très bien', 2, 'Bien', 3, 'Assez bien', 4, 'Réussite', 'Échec') | Très bon |
S'il y a plusieurs valeurs identiques dans la liste de valeurs (matcher), seule la première occurrence est prise en compte. | switch(int(68/10), 6, 'OK', 6, 'KO') | OK | |
xor(logical1, logical2, ...) | Renvoie la contre-valeur de tous les arguments. En d'autres termes, il vérifie si le nombre d'arguments vrais (logiques) est impair et renvoie la valeur 'true'. | xor(1, 0, 2<1, 1) | false |
Fonctions statistiques
Opérateur | Description | Exemples |
---|---|---|
average(nombre1, nombre2, ...) | Renvoie la moyenne des nombres (number1, number2, ...). | = 3 |
count(nombre1, nombre2, ...) | Renvoie le nombre de nombres (number1, number2, ...). Seuls les nombres valides et non vides sont pris en compte. Dans cet exemple, '' est une valeur vide et '3' n'est pas un nombre, mais un texte. | = 2 |
counta(textORnumber1, textORnumber2, ...) | Compte le nombre de cellules non vides (textORnumber1, textORnumber2, ...). Ces cellules peuvent être du texte ou des nombres. Dans cet exemple, 1 et 2 sont des nombres, '3' est un texte, et '' est une valeur vide. | = 3 |
countall(textORnumber1, textORnumber2, ...) | Compte le nombre d'éléments (textORnumber1, textORnumber2, ...) y compris les nombres (1, 2), le texte ('3') et les cellules vides (''). | = 4 |
countblank(textORnumber1, textORnumber2, ...) | Compte le nombre de cellules vides. | = 1 |
countItems("column-name") | Compte le nombre d'éléments dans une cellule. Les types de colonnes pris en charge sont Sélection multiple, Employé, Fichier et Image. | = 6 |
max(nombre1, nombre2, ...) | Renvoie la plus grande valeur parmi les nombres indiqués (number1, number2, ...). | = 4 |
min(nombre1, nombre2, ...) | Renvoie la plus petite valeur parmi les nombres spécifiés (number1, number2, ...). | = -1 |
large(num1, num2, ..., k) | Renvoie la k-plus grande valeur de la liste des nombres (num1, num2, ...). Dans cet exemple : large(35, 92, 10, 2) renvoie la 2-plus grande valeur de (35, 92, 10), qui est 35. | = 35 |
small(num1, num2, ..., k) | Renvoie la k-plus petite valeur de la liste des nombres (num1, num2, ...). Dans cet exemple : small(9, 2, -7, -3, 3) renvoie la 3-plus petite valeur de (9, 2, -7, -3), qui est 2. | = 2 |
Fonctions de liaison
Les fonctions de lien peuvent être utilisées comme formule, ou mises en place plus facilement avec la colonne "Link Formula".
Opérateur | Description | Exemple de saisie |
---|---|---|
countlinks("Column", [condition]) | Compte les entrées liées dans la colonne de lien(Column) donnée. Le paramètre optionnel condition([condition]) permet de filtrer les entrées. Dans l'exemple : Dans le tableau actuel, il y a une colonne de liens "Speakers". Dans une de ses cellules, il y a plusieurs entrées liées. Nous voulons maintenant compter combien de liens il y a dans chaque cellule où le "Price" dans l'entrée liée est supérieur à 500. | = 3 (Le nombre d'entrées liées à la colonne "Speakers" et pour lesquelles "Price" est supérieur à 500). |
rollup("Column", "Other column", summary, [condition]) | Renvoie une valeur évaluée d'entrées liées dans d'autres tables. En liant la colonne "Column", les entrées de la colonne "Other column" dans la table liée sont évaluées. Les méthodes d'évaluation ("summary") qui peuvent être effectuées sont 'average', 'concatenate', 'count', 'max', 'min' et 'sum'. Des conditions de filtrage peuvent également être appliquées en option. Dans l'exemple : Dans le tableau actuel, il y a une colonne de liens "Speakers" qui est liée à un autre tableau. Comme chaque "Speaker" est lié à plusieurs entrées, nous voulons trouver, avec un "Price" inférieur à 500, quel est le plus grand "Power" pour chaque "Speaker". | = 80 (La plus grande valeur, parmi les entrées liées à la colonne "Speakers" dans "Power", pour laquelle le "Price" est inférieur à 500). |
lookup(findmax("Column", "Other column"), "Target") | Recherche la plus grande valeur dans la colonne liée ("Other column") et renvoie la valeur dans la même ligne d'une autre colonne ("Target"). Vous spécifiez la colonne de liaison ("Column"), la colonne liée ("Other column") et la colonne cible ("Target") à utiliser. Dans l'exemple : Dans le tableau actuel, il y a une colonne de liens "Speakers" qui est liée à un autre tableau. Comme chaque "Speaker" est lié à plusieurs entrées, nous voulons savoir quel est le "prix" de chaque "Speaker" pour sa plus grande "puissance". | = 350 (Donne la plus grande valeur "Price" dans "Power", qui est liée à la colonne "Speakers"). |
lookup(findmin("Column", "Other column"), "Target") | Recherche la plus petite valeur dans la colonne liée ("Other column") et renvoie la valeur dans la même ligne d'une autre colonne ("Target"). Vous spécifiez la colonne de liaison ("Column"), la colonne liée ("Other column") et la colonne cible ("Target") à utiliser. Dans l'exemple : Dans le tableau actuel, il y a une colonne de lien "Speakers" qui est liée à un autre tableau. Comme chaque "Speaker" est lié à plusieurs entrées, nous voulons savoir quel est le "prix" de chaque "Speaker" pour sa plus petite "puissance". | = 210 (Le "prix" de la plus petite valeur de "Power" liée à la colonne "Speakers"). |