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 Ctrl +F pour trouver rapidement une entrée sur cette page.

Opérateur Description Exemples
e Retourne le nombre d’Euler e=2.71828… e+1
= 3.71828183
pi Retourne le nombre circulaire Pi. pi
= 3.14159265
true() Renvoie la valeur logique ’true'. true()
= true
false() Renvoie la valeur logique ‘false’. false()
= false
Opérateur Description Exemples
add(num1, num2) Additionne deux valeurs numériques (num1 et num2) et renvoie le résultat. add(1, 2)
= 3
Alternative : + 1+2
= 3
subtract(num1, num2) Soustrait une valeur numérique (num2) d’une autre (num1). subtract(5, 4)
= 1
Alternative : - 5-4
= 1
multiply(num1, num2) Multiplie deux valeurs numériques. multiply(3, 4)
= 12
Alternative : * 3*4
= 12
divide(num1, num2) Divise une valeur numérique (num1) par une autre (num2). diviser(5, 2)
= 2.5
Alternative : / 3/2
= 1.5
mod(num1, num2) Calcule le reste d’une division. mod(10, 7)
= 3
Alternative : % 15%7
= 1
power(num1, num2) Calcule la puissance (num2) d’un nombre (num1). power(3, 2)
= 9
Alternative : ^ 3^2
= 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’. greater(2, 3)
= false
Alternativement : > 2>3
= 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’. lessthan(2, 3)
= true
Alternativ: < 2<3
= 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’. greatereq(2, 3)
= false
Alternative : >= 2>=3
= 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’. lessthaneq(2, 3)
= true
Alternativ: <= 2<=3
= true
equal(nombre1, nombre2) Vérifie si deux valeurs (number1, number 2) sont égales et renvoie respectivement la valeur logique ’true’ ou ‘false’. equal({ancien prix}, {nouveau prix})
= false
Alternative : = {Old price}={New price}
= false
unequal(nombre1, nombre2) Vérifie si deux valeurs (number1, number2) ne sont pas égales et renvoie respectivement la valeur logique ’true’ ou ‘false’. unequal({ancien prix}, {nouveau prix})
= true
Alternative : <> {Old price}<>{New price}
= true
concatenate(chaîne1, chaîne2, …) Combine plusieurs chaînes de caractères (string1, string 2, …) en une seule chaîne de caractères. concatenate({Supplier}, " is ", {Status})
= Linux est génial
Alternative : & {Supplier} & " is " & {Status}
= Linux est génial
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
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
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
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
Opérateur Description Exemples
average(nombre1, nombre2, …) Renvoie la moyenne des nombres (number1, number2, …). moyenne(1, 2, 3, 4, 5)
= 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. count(1, '', 2, '3')
= 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. counta(1, '', 2, '3')
= 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 (’’). countall(1, '', 2, '3')
= 4
countblank(textORnumber1, textORnumber2, …) Compte le nombre de cellules vides. countall(1, '', 2, '3')
= 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. countItems("membres")
= 6
max(nombre1, nombre2, …) Renvoie la plus grande valeur parmi les nombres indiqués (number1, number2, …). max(-1, 3, 4, 2, -1)
= 4
min(nombre1, nombre2, …) Renvoie la plus petite valeur parmi les nombres spécifiés (number1, number2, …). min(-1, 3, 4, 2, -1)
= -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. large(35, 92, 10, 2)
= 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. small(9, 2, -7, -3, 3)
= 2

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. countlinks("Haut-parleurs", "{Prix}>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”. rollup("Speakers", "Power", "max", "{Price} < 500")
= 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”. lookup(findmax("Haut-parleurs", "Puissance"), "Prix")
= 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”. lookup(findmin("Haut-parleurs", "Puissance"), "Prix")
= 210
(Le “prix” de la plus petite valeur de “Power” liée à la colonne “Speakers”).