Référence de champ de formule
  • 01 Aug 2023
  • 15 Minutes à lire
  • Sombre
    Lumière
  • PDF

Référence de champ de formule

  • Sombre
    Lumière
  • PDF

Article Summary

Les formules peuvent comprendre des fonctions, des opérations numériques, des opérations logiques et des opérations de texte qui opèrent sur des champs. Pour en savoir plus sur les champs de formule, veuillez consulter le guide consacré aux champs de formule, de recherche, de quantité et de cumul.

 Introduction

Dans une formule, vous pouvez référencer des champs (colonnes) par nom. Pour renvoyer la valeur d’un champ existant, vous pouvez simplement saisir le nom du champ :

Price

Par exemple, si vous voulez une formule qui calcule un total d’après vos champs Prix et Quantité, voici à quoi elle pourrait ressembler :

Price * Quantity

Les noms de champs contenant plusieurs mots doivent être entourés d’accolades :

MIN({Regular Price}, {Sale Price})

Vous pouvez mettre des parenthèses () dans les formules afin de modifier l’ordre des opérations :

(Apples + Oranges) / Guests

Expressions

Une expression est créée lorsque vous combinez des valeurs, des champs et des formules, et que cette combinaison devient une valeur unique. Vous pouvez créer des expressions simples comme dans l’exemple ci-dessous (la formule renverra une valeur unique, il s’agit donc d’une expression) :

{Sales Tax} * {Price}

Vous pouvez également relier des expressions, ce qui est particulièrement utile lorsque vous utilisez des opérateurs logiques. Par exemple, le modèle technique de la formule IF() est IF(expression, value1, value2).  Pour continuer avec notre exemple, imaginons que nous souhaitions savoir quand le prix total de notre élément est supérieur à 100 :

IF(   {Sales Tax} * {Price} > 100,   "This is over 100",   "This is less than 100" )

L’expression dans le bloc ci-dessus est {Sales Tax} * {Price} > 100.

C’est vous qui décidez de la complexité de vos expressions selon vos envies et vos besoins. Vous voulez vous amuser avec les expressions et en savoir plus à leur sujet, ou à propos des formules en général ?

Nous avons créé une base d’entraînement pour les formules, Formula Playground, dans laquelle vous pouvez consulter et tester toutes les formules répertoriées ci-dessous. Comme l’indique le nom de la base, nous avons créé cette base Formula Playground en gardant à l’esprit l’aspect ludique (« play ») afin de vous permettre de découvrir et de tester les formules de manière pratique. Nous vous conseillons de créer une copie personnelle de la base Formula Playground ci-dessous pour vous y reporter quand vous le souhaitez. 

 Dernière mise à jour : 21/09/2021

Si vous ouvrez cette base pour la première fois, regardez cette courte vidéo de démo pour obtenir une présentation de sa structure.

Opérateurs et fonctions de texte

Pour voir les fonctions de texte ci-dessous en action et les tester par vous-même, consultez le tableau « ✏️ Exemples de fonctions de texte » dans la base Formula Playground

Opérateurs de texte

OpérateurDescriptionExemples
&

Concatène des valeurs de texte en une valeur de texte unique.

Pour concaténer du texte statique, entourez-le de guillemets droits. Pour concaténer des guillemets droits, vous devez utiliser des barres obliques inverses (\) comme caractère d’échappement.

Équivaut à CONCATENATE().

Name & " - " & Age

=> Jane - 28

"\""&{Product Name}&"\""

=> "GreatProduct"

Fonctions de texte

FonctionDescriptionExemples
ARRAYJOIN([item1, item2, item3], separator)

Regroupe le tableau des éléments dans une chaîne avec un séparateur.

ARRAYJOIN(values, "; ") 

=> 1; 2; 3

CONCATENATE(text1, [text2, ...])

Regroupe les arguments de texte en une valeur de texte unique.

Pour concaténer du texte statique, entourez-le de guillemets droits. Pour concaténer des guillemets droits, vous devez utiliser des barres obliques inverses (\) comme caractère d’échappement.

Équivaut à l’utilisation de l’opérateur &.

CONCATENATE("Bob"," - ", 43)

=> Bob - 43

CONCATENATE("\"",{Name},"\"")

=> "Bob"

ENCODE_URL_COMPONENT(component_string)

Remplace certains caractères par des équivalents codés destinés à être utilisés dans la création d’URL ou d’URI. Les caractères suivants ne peuvent pas être codés : - _ . ~

ENCODE_URL_COMPONENT("chicken & waffles")

=> chicken%20%26%20waffles

FIND(stringToFind, whereToSearch,[startFromPosition])

Trouve une occurrence de stringToFind dans la chaîne whereToSearch à partir de la position facultative startFromPosition. (Par défaut, la valeur de startFromPosition est 0.) Si aucune occurrence de stringToFind n’est trouvée, le résultat sera 0.

Semblable à SEARCH(), à la différence que SEARCH() reste vide au lieu de renvoyer la valeur 0 si aucune occurrence de stringToFind n’est trouvée.

FIND("fox", "quick brown fox")

=> 13

LEFT(string, howMany)

Extrait le nombre de caractères à partir du début de la chaîne.

LEFT("quick brown fox", 5)

=> quick

LEN(string)

Renvoie la longueur d’une chaîne.

LEN("quick brown fox")

=> 15

LOWER(string)

Transforme une chaîne en minuscules.

LOWER("Hello!")

=> hello!

MID(string, whereToStart, count)

Extrait une sous-chaîne de nombre de caractères dans whereToStart.

MID("quick brown fox", 6, 5)

=> brown

REPLACE(string, start_character, number_of_characters, replacement)

Remplace le nombre de caractères commençant par le caractère de départ par le texte de remplacement.

(Si vous souhaitez rechercher et remplacer toutes les occurrences de old_text par new_text, utilisez SUBSTITUTE().)

REPLACE("database", 2, 5, "o")

=> dose

REPT(string, number)

Répète la chaîne autant de fois qu’indiqué.

REPT("Hi! ", 3)

=> Hi! Hi! Hi!

RIGHT(string, howMany)

Extrait le nombre de caractères à partir de la fin de la chaîne.

RIGHT("quick brown fox", 5)

=> n fox

SEARCH(stringToFind, whereToSearch,[startFromPosition])

Effectue une recherche pour une occurrence de stringToFind dans la chaîne whereToSearch à partir de la position facultative startFromPosition. (Par défaut, la valeur de startFromPosition est de 0.) Si aucune occurrence de stringToFind n’est trouvée, le résultat est vide.

Semblable à FIND(), à la différence que FIND() renvoie la valeur 0 au lieu de rester vide si aucune occurrence de stringToFind n’est trouvée.

SEARCH("World", "Hello World")

=> 7

SUBSTITUTE(string, old_text, new_text, [index])

Remplace les occurrences de old_text par new_text.

Vous pouvez également indiquer un numéro d’index (à partir de 1) pour remplacer uniquement une occurrence spécifique de old_text. Si aucun numéro d’index n’est indiqué, toutes les occurrences de old_text seront remplacées.

(Si vous cherchez une façon de remplacer les caractères d’une chaîne à partir d’un point spécifique, utilisez REPLACE().)

Si vous cherchez des exemples d’utilisation de SUBSTITUTE(), consultez cette publication de blog à propos de sept formules de substitution vous permettant de gagner du temps.

SUBSTITUTE("gold mold", "old", "et")

=> get met

SUBSTITUTE("gold mold", "old", "et", 1)

=> get mold

T(value1)

Renvoie l’argument s’il s’agit de texte, sinon, reste vide.

T("text only")

=> text only

T(42)

=> blank

TRIM(string)

Retire les espaces en début et en fin de chaîne.

TRIM(" Hello! ")

=> Hello!

UPPER(string)

Transforme une chaîne en majuscules.

UPPER("Hello!")

=> HELLO!

Opérateurs et fonctions logiques

Pour voir les fonctions logiques ci-dessous en action et les tester par vous-même, consultez le tableau « ✏️ Exemples de fonctions logiques » dans la base Formula Playground

Opérateurs logiques

OpérateurDescriptionExemples

Supérieur à

3 > 2

=> TRUE

Inférieur à

2 < 3

=> TRUE

>=

Supérieur ou égal à

3 >= 3

=> TRUE

<=

Inférieur ou égal à

2 <= 2

=> TRUE

=

Égal à

2 = 2

=> TRUE

!=

Différent de

3 != 2

=> TRUE

Fonctions logiques

FonctionDescriptionExemples
AND(expression, [expression, ...])

Renvoie true si tous les arguments sont vrais, sinon renvoie false.

AND({Field 1}, {Field 2})

=> 1 (if both field values are truthy)

BLANK()

Renvoie une valeur vide.

IF({Price} > 1000000, "Wow, that's pretty expensive", BLANK())
ERROR()

Renvoie la valeur error.

IF({Price} < 0, ERROR(), "More than zero!")
FALSE()

Valeur logique false. La valeur false est représentée numériquement par un 0.

IF(2 = 3, TRUE(), FALSE())

=> 0 

IF(expression, value1, value2)

Renvoie value1 si l’expression logique est true. Dans le cas contraire, renvoie value2. Peut aussi servir à créer des instructions IF imbriquées.

Peut également permettre de vérifier si une cellule est vide.

IF({Sales} > 50, "Win", "Lose")

 

IF({WaterTemp} > 100, IF({WaterTemp }< 212, "just right", "too hot"), "too cold")

 

IF({Due Date} = BLANK(), "Please enter date", "Date entered")
ISERROR(expr)

Renvoie true si l’expression génère une erreur.

ISERROR(2/0)

=> 1 (true because of  the "divide by zero" error)

NOT(expression)

Inverse la valeur logique de son argument.

NOT({Total} = 0)
OR(expression, [exp2, ...])

Renvoie true si l’un de ses arguments est vrai.

OR({Field 1}, {Field 2})
=> 1 (if one field value is truthy)
SWITCH(expression, [pattern, result ... , default])

Prend une expression, une liste de valeurs pour celle-ci et une valeur que l’expression devrait prendre pour chacune dans ce cas. Peut également prendre une valeur par défaut si l’expression saisie ne correspond à aucun des modèles définis. Dans la plupart des cas, SWITCH() peut être utilisé au lieu de la formule IF imbriquée.

Example 1:  SWITCH({Status},
 "To Do", "Get this started!",
 "In Progress", {Due Date},
 "Done", "Work complete!"
 )

=> if the {Status} field is the value "To Do" then this would return "Get this started!"

SWITCH( 1, 

1, "one",

2, "two",

"many")

=> one

TRUE()

Valeur logique true. La valeur true est représentée numériquement par un 1.

IF(2 = 2, TRUE(), FALSE())

=> 1 

XOR(expression1, [exp2, ...])

Renvoie true si un nombre impair d’arguments renvoient la valeur true.

XOR(TRUE(), FALSE(), TRUE())

=> 0

 


XOR(TRUE(), FALSE(), FALSE())

=> 1

Opérateurs et fonctions numériques

Pour voir les fonctions numériques ci-dessous en action et les tester par vous-même, consultez le tableau « #️⃣ Exemples de fonctions numériques » dans la base Formula Playground

Opérateurs numériques

OpérateurDescriptionExemples
+

Ajoute deux valeurs numériques

Size + 2
-

Soustrait deux valeurs numériques

Price - 3.00
*

Multiplie deux valeurs numériques

Price * Quantity 
/

Divise deux valeurs numériques

Price / {Num People}

Fonctions numériques

FonctionDescriptionExemples
ABS(value)

Renvoie la valeur absolue.

ABS(-5)

=> 5

AVERAGE(number1, [number2, ...])

Renvoie la moyenne des nombres.

AVERAGE(2.3, 5.7, 6.8)

=> 3.93

CEILING(value, [significance])

Renvoie le multiple d’entier d’importance le plus proche supérieur ou égal à la valeur. Si aucune importance n’est fournie, on considère qu’elle est égale à 1.

CEILING(1.01)

=> 2

CEILING(1.01, 0.1)

=> 1.1

COUNT(number1, [number2, ....])

Compte le nombre d’éléments numériques.

COUNT(1,2,3,"","four")

=> 3

COUNTA(textOrNumber1, [number2, ....])

Compte le nombre d’éléments non vides. Cette fonction prend en compte les valeurs numériques et textuelles.

COUNTA(1,2,3,"","four")

=> 4

COUNTALL(textOrNumber1, [number2, ....])

Compte le nombre total d’éléments, y compris le texte et les blancs.

COUNTALL(1,2,3,"","four")

=> 5

EVEN(value)

Renvoie l’entier pair le plus petit supérieur ou égal à la valeur indiquée.

EVEN(2.2)

=> 4

EVEN(-1.6)

=> -2

EXP(power)

Calcule le nombre d’Euler (e) de la série entière indiquée.

EXP(1)

=> 2.71828

EXP(3)

=> 20.08554

FLOOR(value, [significance])

Renvoie le multiple d’entier d’importance le plus proche inférieur ou égal à la valeur. Si aucune importance n’est fournie, on considère qu’elle est égale à 1.

FLOOR(1.99)

=> 1

FLOOR(1.99, 0.1)

=> 1.9

INT(value)

Renvoie l’entier le plus grand inférieur ou égal à la valeur indiquée.

INT(1.99)

=> 1

INT(-1.99)

=> -2

LOG(number, [base])

Calcule le logarithme de la valeur de la base fournie. Par défaut, la base applique la valeur 10 si rien n’est indiqué.

LOG(1024, 2)

=> 10

LOG(1000)

=> 3

MAX(number1, [number2, ...])

Renvoie la plus grande valeur des nombres donnés.

MAX({Field1}, {Field2})

 

MAX(10, 100)

=> 100

MIN(number1, [number2, ...])

Renvoie la plus petite valeur des nombres donnés.

MIN({Field1}, Field2})

 

MIN(10, 100)

=> 10

MOD(value1, divisor)

Renvoie le reste après division du premier argument par le second.

MOD({Meters}, 1000)

 

MOD(7, 5)

=> 2

ODD(value)

Arrondit la valeur positive au nombre impair supérieur le plus proche et la valeur négative au nombre impair inférieur le plus proche.

ODD(1.1)

=> 3

ODD(-1.1)

=> -3

POWER(base, power)

Calcule la base indiquée sur la série entière indiquée.

POWER(3, 3)

=> 27

POWER(7, 0)

=> 1

ROUND(value, precision)

Arrondit la valeur selon le nombre de chiffres décimaux indiqués dans "precision". (Plus précisément, ROUND arrondit la valeur au nombre entier le plus proche d’après la valeur indiquée dans "precision", les égalités étant départagées en arrondissant la moitié sur l’infini positif.)

ROUND(3.5, 0)

=> 4

ROUND(3.4, 0)

=> 3

ROUNDDOWN(value, precision)

Arrondit la valeur selon le nombre de chiffres décimaux indiqués dans "precision" en arrondissant toujours à la valeur inférieure, donc à zéro dans l’exemple. (Afin que la fonction opère, vous devez indiquer une valeur pour "precision".)

ROUNDDOWN(1.9, 0)

=> 1

ROUNDDOWN(-1.9, 0)

=> -1

ROUNDUP(value, precision)

Arrondit la valeur selon le nombre de chiffres décimaux indiqués dans "precision" en arrondissant toujours à la valeur supérieure, donc pas à zéro dans l’exemple. (Afin que la fonction opère, vous devez indiquer une valeur pour "precision".)

ROUNDUP(1.1, 0)

=> 2

ROUNDUP(-1.1, 0)

=> -2

SQRT(value)

Renvoie la racine carrée d’un nombre non négatif.

SQRT(100)

=> 10

SUM(number1, [number2, ...])

Fait la somme des nombres. Équivaut à number1 + number2 + …

SUM({Field1}, Field2})

 

SUM(1,2,3)

=> 6

VALUE(text)

Convertit la chaîne de texte en nombre.

Il existe des exceptions : si la chaîne contient des opérateurs mathématiques tels que - ou %, le résultat peut être différent de ce qui est attendu. Dans ce cas, nous vous conseillons d’utiliser une combinaison des fonctions VALUE et REGEX_REPLACE afin de retirer les valeurs non chiffrées de la chaîne :

VALUE(REGEX_REPLACE(YOURSTRING, "\\D", ""))
VALUE("$1000")

=> 1000

Fonctions de date et d’heure

Vous êtes à la recherche d’exemples d’utilisation des formules avec des dates limites ? Consultez cette publication de blog répertoriant 10 formules de date vous permettant de gagner du temps.

Pour voir les fonctions de date et d’heure ci-dessous en action et les tester par vous-même, consultez le tableau « 📆 Exemples de fonctions de date et d’heure » dans la base Formula Playground

FonctionDescriptionExemples
CREATED_TIME()

Renvoie la date et l’heure de création de l’entrée donnée. 

CREATED_TIME()

=> 2015-11-11T22:18:17 

DATEADD([date], [#], 'units')

Ajoute des unités de quantité à une date et une heure. Consultez la liste des spécificateurs d’unité partagés ici. Pour cette fonction, nous vous conseillons d’utiliser le spécificateur d’unité complet pour l’unité souhaitée (« années » au lieu de « a », par exemple). 

DATEADD("07/10/19", 10, "days")

=> 2019-07-20

 

DATEADD("07/10/19 01:01:00", 60, "seconds")

=> 2019-07-10 1:02am

 

DATEADD(TODAY(), 20, "days")
DATESTR([date])

Formate une date et une heure en chaîne (AAAA-MM-JJ). 

DATESTR("12/13/21")

=> 2021-12-13

DATETIME_DIFF([date1], [date2], 'units')

Renvoie la différence entre les dates et les heures dans l’unité indiquée. Cette différence est obtenue en soustrayant [date2] de [date1]. Cela signifie que si la valeur [date2] est supérieure à la valeur [date1], le résultat sera négatif. 

Les secondes sont les unités par défaut. (Consultez la liste des spécificateurs d’unité partagés ici.)

REMARQUE 1 : la formule The DATETIME_DIFF()  renvoie des entiers pour tous les spécificateurs d’unité. 

REMARQUE 2 : lorsque vous essayez d’utiliser  DATETIME_DIFF()  avec des dates statiques ou des dates formatées en chaînes, nous vous conseillons d’intégrer la fonction DATETIME_PARSE()  dans votre formule afin que la chaîne soit une date lisible dans le back-end d’Airtable. 

 

 

DATETIME_DIFF("04/06/2019 12:00", "04/05/2019 11:00", "hours")

=> 25

 

DATETIME_DIFF("04/06/2019 12:00", "04/05/2019 11:00", "days")

=> 1

 

DATETIME_DIFF({Date Bought}, {Date Sold}, 'minutes')

=> 30

DATETIME_FORMAT([date], '[specified output format]')

Formate une date et une heure en une chaîne indiquée. Pour obtenir une explication sur l’utilisation de cette fonction avec les champs de date, cliquez ici. Consulter une  liste des spécificateurs de format pris en charge.

DATETIME_FORMAT("07/10/19", "YYYY")

=> 2019

 

DATETIME_FORMAT("07/10/19", "DD  YYYY")

=> 10 2019

DATETIME_PARSE(date, ['input format'], ['locale'])

Interprète une chaîne de texte comme une date structurée avec des paramètres régionaux et un format d’entrée facultatifs. Le format de sortie sera toujours 'M/J/AAAA h:mm a'.

DATETIME_PARSE("4 Mar 2017 23:00", 'D MMM YYYY HH:mm')

=> 3/4/2017 11:00pm 

DAY([date])

Renvoie le jour du mois d’une date et d’une heure sous la forme d’un nombre compris entre 1 et 31.

DAY("02/17/2013")

=> 17 

HOUR([datetime])

Renvoie l’heure d’une date et d’une heure sous la forme d’un nombre compris entre 0 (0 h 00) et 23 (23 h 00).

HOUR("4 Mar 2017 7:00")

=> 7

IS_AFTER([date1], [date2])

Détermine si la date [date1] est ultérieure à la date [date2]. Renvoie 1 si c’est le cas, 0 dans le cas contraire.

IS_AFTER("1/1/1979", "1/1/2000")

=> 0

 

IS_AFTER({Deadline}, TODAY())
IS_BEFORE([date1], [date2])

Détermine si la date [date1] est antérieure à la date [date2]. Renvoie 1 si c’est le cas, 0 dans le cas contraire.

IS_BEFORE("1/1/1979", "1/1/2000")

=> 1

 

IS_BEFORE({Deadline}, TODAY())
IS_SAME([date1], [date2], [unit])

Compare deux dates avec une unité et indique si elles sont égales. Renvoie 1 si c’est le cas, 0 dans le cas contraire.

IS_SAME("1/1/1979", "1/1/1979")

=> 1

 

IS_SAME({Date 1}, {Date 2}, 'hour')

=> 0

LAST_MODIFIED_TIME([{field1},{field2}, ...])

Renvoie la date et l’heure de la modification la plus récente apportée par un utilisateur à un champ non calculé du tableau. Si vous êtes uniquement intéressé(e) par les modifications apportées à des champs spécifiques, vous pouvez inclure des noms de champ. La fonction renverra uniquement la date et l’heure des modifications les plus récentes apportées à ces champs.

LAST_MODIFIED_TIME()

=> 5/9/2019 1:27 a.m.

LAST_MODIFIED_TIME({Due Date})

=> 3/16/2019 6:45 p.m.

MINUTE([datetime])

Renvoie les minutes d’une date et d’une heure sous la forme d’un entier compris entre 0 et 59.

MINUTE("02/17/2013 7:31")

=> 31  

MONTH([date])

Renvoie le mois d’une date et d’une heure sous la forme d’un entier compris entre 1 (janvier) et 12 (décembre).

MONTH("02/17/2013 7:31")

=> 2

NOW()

La fonction NOW() est semblable à la fonction TODAY(), sauf qu’elle renvoie la date ET l’heure en cours.

Cette fonction est mise à jour lorsque la formule est recalculée, lorsqu’une base est chargée, ou environ toutes les 15 minutes lorsqu’une base est ouverte. Si la base est fermée, la fonction est mise à jour environ toutes les heures, et uniquement lorsque la base a des actions ou des déclencheurs d’automatisation qui dépendent du temps, ou des dépendances de synchronisation.

Les exemples suivants montrent ce qui serait renvoyé si vous saisissiez NOW() et TODAY() en même temps, 08/06/2020 8:03am au format GMT sur 12 h :

Vous pouvez activer le format d’heure (GMT/local, 12/24 h) dans l’onglet de format

NOW()

=> 08/06/2020 8:03am

TODAY()

=> 08/06/2020 12:03am

SECOND([datetime])

Renvoie les secondes d’une date et d’une heure sous la forme d’un entier compris entre 0 et 59.

SECOND("02/17/2013 7:31:25")

=> 25

SET_LOCALE([date], [locale_modifier])

Définit une région spécifique pour une date et une heure. Doit être utilisée avec DATETIME_FORMAT. Vous pouvez consulter la liste des modificateurs de région pris en charge ici.

DATETIME_FORMAT(SET_LOCALE("07/10/19
 ", 'es'), 'LLLL')

=> miércoles, 10 de julio de 2019 0:00

SET_TIMEZONE([date], [tz_identifier])

Définit un fuseau horaire spécifique pour une date et une heure. Doit être utilisée avec DATETIME_FORMAT. Vous pouvez consulter la liste des identificateurs de fuseau horaire ici.

DATETIME_FORMAT(SET_TIMEZONE("07/10/19 13:00", 'Australia/Sydney'), 'M/D/YYYY h:mm')

=> 7/10/2019 11:00

TIMESTR([date/timestamp])

Formate une date et une heure en chaîne d’heure uniquement (HH:mm:ss).  

TIMESTR("02/17/2013 7:31:25")

=> 7:31:25

TONOW([date]) &  FROMNOW([date])

Calcule le nombre de jours entre la date actuelle et une autre date.

TONOW({Date})

=> 25 days 

 

FROMNOW({Date})

=> 25 days 

TODAY()

La fonction TODAY() est semblable à la fonction NOW(), sauf qu’elle renvoie la date actuelle et non l’heure actuelle (si elle est formatée, l’heure renvoyée sera 12:00am).

Cette fonction est mise à jour lorsque la formule est recalculée, lorsqu’une base est chargée, ou environ toutes les 15 minutes lorsqu’une base est ouverte. Si la base est fermée, la fonction est mise à jour environ toutes les heures, et uniquement lorsque la base a des actions ou des déclencheurs d’automatisation qui dépendent du temps, ou des dépendances de synchronisation.

Les exemples suivants montrent ce qui serait renvoyé si vous saisissiez NOW() et TODAY() en même temps, 08/06/2020 8:03am au format GMT sur 12 h :

Vous pouvez activer le format d’heure (GMT/local, 12/24 h) dans l’onglet de format

NOW()

=> 08/06/2020 8:03am

TODAY()

=> 08/06/2020 12:03am

WEEKDAY(date, [startDayOfWeek])

Renvoie le jour de la semaine sous la forme d’un entier entre 0 et 6 (compris). Vous pouvez également fournir un second argument ("Sunday" pour dimanche ou "Monday" pour lundi) pour commencer les semaines ce jour-là. Par défaut, si vous n’indiquez rien, les semaines commencent le dimanche. Exemple :
 WEEKDAY(TODAY(), "Monday")

WEEKDAY("2021-06-09")

=> 3 (for Wednesday)

WEEKNUM(date, [startDayOfWeek])

Renvoie le numéro de semaine dans une année. Vous pouvez également fournir un second argument ("Sunday" pour dimanche ou "Monday" pour lundi) pour commencer les semaines ce jour-là. Par défaut, si vous n’indiquez rien, les semaines commencent le dimanche. Exemple :

WEEKNUM(TODAY(), "Monday")
WEEKNUM("02/17/2013")  

=> 8

WORKDAY(startDate, numDays, [holidays]) 

Renvoie une date numDays jours ouvrés après startDate. Les jours ouvrés excluent les jours de week-end et une liste facultative de jours fériés, sous forme de chaînes de dates au format ISO séparées par des virgules.

WORKDAY('10/16/20', 10, '2020-10-16, 2020-10-19')

=> 2020-11-02

WORKDAY({Launch date}, 100)
WORKDAY_DIFF(startDate, endDate, [holidays])

Compte le nombre de jours ouvrés compris entre startDate et endDate. Les jours ouvrés excluent les jours de week-end et une liste facultative de jours fériés, sous forme de chaîne de dates au format ISO séparées par des virgules.

WORKDAY_DIFF('10/16/20','11/02/2020', '2020-10-16, 2020-10-19')

=> 10

WORKDAY_DIFF({Assignment date}, {Due Date}, {Holidays})
YEAR([date])

Renvoie l’année au format AAAA d’une date et d’une heure.

YEAR("2021-06-09")

=> 2021

Fonctions de tableau

Les fonctions de tableau peuvent uniquement être utilisées dans des champs de cumul ou lorsque le champ d’entrée est un champ de recherche.

Pour voir les fonctions de tableau ci-dessous en action et les tester par vous-même, consultez le tableau « [] Exemples de fonctions de tableau » dans la base Formula Playground

FonctionDescriptionExemples
ARRAYCOMPACT(values)

Retire les chaînes vides et les valeurs NULL du tableau. Conserve "false" et les chaînes qui contiennent un ou plusieurs caractères vides.

values = [1,2,3,"",null,false," "]

ARRAYCOMPACT(values)

=> [1,2,3,false," "]

ARRAYFLATTEN(values)

Lisse le tableau en retirant toutes les imbrications de tableau. Tous les éléments deviennent des éléments d’un tableau unique.

values = [[1,2,"",3],[false]]

ARRAYFLATTEN(values)

=> [1,2,3,false]

ARRAYJOIN(values, separator)

Regroupe le tableau des éléments cumulés dans une chaîne avec un séparateur.

values = [1,2,3]

ARRAYJOIN(values, "; ") 

=> "1; 2; 3"

ARRAYUNIQUE(values)

Renvoie seulement des éléments uniques dans le tableau.

values = [1,2,3,3,2,1]

ARRAYUNIQUE(values)

=> [1,2,3]

Fonctions d’entrée

Pour voir les fonctions d’entrée ci-dessous en action et les tester par vous-même, consultez le tableau « ✏️ Exemples de fonctions d’entrée » dans la base Formula Playground

FonctionDescriptionExemples
CREATED_TIME()

Renvoie la date et l’heure de création de l’entrée en cours.

"Created on " & CREATED_TIME()
LAST_MODIFIED_TIME()

Renvoie la date et l’heure de la modification la plus récente apportée par un utilisateur à un champ non calculé du tableau. Si vous êtes uniquement intéressé(e) par les modifications apportées à des champs spécifiques, vous pouvez inclure des noms de champ. La fonction renverra uniquement la date et l’heure des modifications les plus récentes apportées à ces champs.

"Last modified on " & LAST_MODIFIED_TIME()
RECORD_ID()

Renvoie l’ID de l’entrée en cours.

"https://awesomeservice.com/view?recordId=" & RECORD_ID()

Fonctions REGEX

Les expressions régulières ou REGEX peuvent être utilisées pour faire correspondre des combinaisons de caractères dans des chaînes de texte. Dans Airtable, les fonctions REGEX sont implémentées depuis la bibliothèque d’expressions régulières RE2. Vous trouverez plus d’informations sur les fonctions REGEX dans cet article d’assistance.

Pour voir les fonctions REGEX ci-dessous en action et les tester par vous-même, consultez le tableau « 🔎 Exemples de fonctions REGEX » dans la base Formula Playground

FonctionDescriptionExemples
REGEX_MATCH(string, regex)

Indique si le texte d’entrée correspond à une expression régulière.

REGEX_MATCH("Hello World", "Hello.World") => 1
REGEX_EXTRACT(string, regex)

Renvoie la première sous-chaîne qui correspond à une expression régulière.

REGEX_EXTRACT("Hello World", "W.*") => "World"
REGEX_REPLACE(string, regex, replacement)

Remplace toutes les sous-chaînes correspondantes par une valeur de chaîne de remplacement.

REGEX_REPLACE("Hello World", " W.*", "") => "Hello" 

Cet article vous a-t-il été utile ?