Fonctions et opérateurs TimeTonic : le guide complet des formules V2

La référence complète des formules V2 : des opérateurs de base aux fonctions avancées de date, texte et géolocalisation.
L'équipe TimeTonic
2 mars 2026
Partager 🚀
Fonctions et opérateurs TimeTonic : le guide complet des formules V2

Fonctions et opérateurs TimeTonic :
le guide complet des formules V2

Dans TimeTonic, une colonne formule ne se contente pas d'afficher une valeur : elle la calcule, la transforme et l'adapte en temps réel. Grâce aux formules V2, vous disposez d'un moteur de calcul puissant qui combine fonctions de date, de texte, numériques et logiques pour automatiser vos processus métier, sans écrire une seule ligne de code. Ce guide vous explique comment ça fonctionne, à quoi servent chaque famille de fonctions, et vous fournit la liste complète de toutes les fonctions disponibles avec leur syntaxe exacte et des exemples concrets.


Nouvelles fonctions

Le moteur de formules TimeTonic évolue en continu. Chaque fois que l'équipe technique publie une nouvelle fonction, elle apparaît dans le tableau ci-dessous — vous avez ainsi toujours une vue à jour des derniers ajouts, sans avoir à consulter les notes de version. Les fonctions listées ici sont également documentées dans les tableaux par catégorie plus bas dans ce guide.

FonctionSyntaxeExempleDescription
AVERAGE AVERAGE(val1, val2, ...) AVERAGE(10, 15, 20) ➡️ 15 Calcule la moyenne d'un ensemble de nombres.
CEILING CEILING(valeur) CEILING(4.3) ➡️ 5 Arrondit un nombre à l'entier supérieur le plus proche.
COUNTIF COUNTIF(valeur, critère, séparateur) COUNTIF("101 205 301 50", ">100", " ") ➡️ 3 Compte les éléments d'un champ texte ou relationnel qui correspondent à un critère, après les avoir séparés par un séparateur.
FIND FIND(texte_cherché, texte_dans_lequel, position) FIND("A", "BANANE", 1) ➡️ 2 Renvoie la position exacte d'une sous-chaîne (sensible à la casse).
FLOOR FLOOR(valeur) FLOOR(4.3) ➡️ 4 Arrondit un nombre à l'entier inférieur le plus proche.
INT INT(valeur) INT(3.7) ➡️ 3 Renvoie la partie entière d'un nombre, en arrondissant vers le bas.
ISO_WEEKNUM ISO_WEEKNUM(date) ISO_WEEKNUM(2026-01-01) ➡️ 1 Renvoie le numéro de semaine ISO d'une date (les semaines commencent le lundi ; la semaine 1 comprend le premier jeudi de l'année).
LEFT LEFT(texte, nombre_de_caractères) LEFT("ABC1234", 3) ➡️ "ABC" Extrait les n premiers caractères d'une chaîne.
LENGTH LENGTH(text) LENGTH("Bonjour") ➡️ 7 Renvoie le nombre de caractères dans une chaîne (espaces compris).
LOWER LOWER(texte) LOWER("BONJOUR LE MONDE") ➡️ "bonjour le monde" Convertit toutes les lettres en minuscules.
MEDIAN MEDIAN(valeur1, valeur2, ...) MEDIAN(3, 1, 8, 9, 2) ➡️ 3 Renvoie la valeur médiane d'un ensemble de nombres.
REGEXEXTRACT REGEXEXTRACT(texte, expression_régulière) REGEXEXTRACT("commande n°24158", "[0-9]+") ➡️ "24158" Extrait la première valeur correspondant à une expression régulière.
REGEXMATCH REGEXMATCH(texte, expression_régulière) REGEXMATCH("code T51234", "([A-Z].*([0-9]){5}") ➡️ vrai Vérifie si un texte correspond à une expression régulière. Renvoie vrai ou faux.
REGEXREPLACE REGEXREPLACE(texte, expression_régulière, remplacement?) REGEXREPLACE("Supermarché", "Super", "Hyper") ➡️ "Hypermarché" Remplace toutes les occurrences d'une expression régulière par un nouveau texte.
REPLACE REPLACE(texte, position_début, nombre_de_c., nouveau_texte) REPLACE("TimeTonic", 1, 4, "Demo") ➡️ "DemoTonic" Remplace une partie du texte définie par une position et une longueur.
RIGHT RIGHT(texte, nombre_de_caractères) RIGHT("ABC1234", 4) ➡️ "1234" Extrait les n derniers caractères d'une chaîne.
ROUND ROUND(valeur, précision) ROUND(3.14159, 2) ➡️ 3.14 Arrondit une valeur au nombre souhaité de décimales.
ROWID ROWID() ROWID() ➡️ "jklm1234" Renvoie l'identifiant technique unique d'une ligne. Permet un référencement stable des lignes.
SEARCH SEARCH(texte_cherché, texte_dans_lequel, position) SEARCH("ban", "Banane", 1) ➡️ 1 Renvoie la position d'une sous-chaîne (sans distinction entre majuscules et minuscules).
STDEV STDEV(valeur1, valeur2, ...) STDEV(4, 5, 8, 10) ➡️ 2.75 Calcule l'écart type d'un ensemble de nombres.
SUBSTITUTE SUBSTITUTE(texte_original, ancien_texte, nouveau_texte, instance?) SUBSTITUTE("TT-2026-01", "TT", "TM") ➡️ "TM-2026-01" Remplace une ou plusieurs occurrences d'une chaîne par une autre.
SWITCH SWITCH(source, valeur1, résultat1, valeur2, résultat2, ..., défaut) SWITCH(Statut, "New","Urgent", "Completed","Fermé", "Inconnu") Compare une expression à plusieurs cas et renvoie le premier résultat correspondant. Remplace les chaînes IF() imbriquées.
TRIM TRIM(texte) TRIM(" Bonjour le monde ") ➡️ "Bonjour le monde" Supprime les espaces avant, arrière et supplémentaires à l'intérieur.
UPPER UPPER(texte) UPPER("lorem ipsum") ➡️ "LOREM IPSUM" Convertit toutes les lettres en majuscules.
WEEKNUM WEEKNUM(date) WEEKNUM(2026-01-10) ➡️ 2 Renvoie le numéro de semaine d'une date (les semaines commencent le dimanche ; la semaine 1 comprend le 1er janvier).

Les formules TimeTonic : bien plus qu'un simple tableur

La différence entre un champ texte et une colonne formule

Un champ texte stocke ce que vous saisissez. Une colonne formule, elle, calcule automatiquement sa valeur à partir d'autres colonnes, de la date du jour, ou de règles que vous définissez. Résultat : vos données restent toujours à jour, sans intervention manuelle.

Concrètement, cela signifie que vous pouvez afficher l'ancienneté d'un contrat en jours, signaler automatiquement qu'un stock est en rupture, ou construire un identifiant unique à partir du nom et de la date d'entrée d'un collaborateur | le tout sans quitter TimeTonic.

Ce que les fonctions permettent d'automatiser sans coder

📅
Gestion du temps
Calcul d'échéances, ancienneté, alertes de relance, durées en jours ouvrés.
🔤
Mise en forme des données
Concaténation, masquage, extraction, normalisation de textes et identifiants.
🔢
Calculs métier
Marges, arrondis, moyennes, totaux, formatage de montants en devise.
🧠
Logique conditionnelle
Qualification automatique, statuts dynamiques, alertes selon des règles métier.
📍
Géolocalisation
Conversion d'adresses en coordonnées, calcul de distances à vol d'oiseau.
🔗
Construction d'URLs
Génération de liens dynamiques et déclenchement d'actions via URL.

La logique des fonctions : comment ça marche ?

Fonctions, opérateurs, champs et constantes

Toute formule TimeTonic est construite à partir de quatre briques élémentaires :

  • Fonctions: les opérations à effectuer (calculer un écart de date, convertir en majuscules, arrondir un nombre…).
  • Opérateurs: ils comparent ou combinent des valeurs (==, >, and…).
  • Champs: vos colonnes TimeTonic, référencées dans l'éditeur avec le $ symbole ou sélectionné dans le panneau glossaire.
  • Constantes: valeurs fixes que vous saisissez directement, telles qu'un nombre ou une chaîne entre guillemets.

Le principe d'imbrication : des formules dans des formules

La puissance des formules V2 tient à leur capacité à s'imbriquer : le résultat d'une fonction peut devenir l'argument d'une autre. C'est ce qui permet de construire des logiques élaborées en une seule expression.

Voici un exemple concret : déterminer si une personne est majeure ou mineure à partir de sa date de naissance.

YEAR_ADD(Date de naissance, 18) > TODAY() ? « Mineur » : « Adulte » Si la date de naissance + 18 ans est supérieure à aujourd'hui → « Mineur », sinon → « Adulte »

Ici, YEAR_ADD() calcule d'abord la date majoritaire, puis le résultat est comparé à TODAY() via la condition ternaire. Trois éléments imbriqués, un résultat lisible.

Format de sortie : contrôler ce que l'utilisateur voit

Une fois votre formule rédigée, l'onglet Format de sortie vous permet de définir comment le résultat sera affiché : texte simple, texte multi-ligne, URL, date (avec ou sans heure), nombre (avec arrondi et symbole de devise) ou coordonnées géographiques.

⚠️Tous les formats de sortie ne sont pas compatibles entre eux. Vous ne pouvez pas convertir une URL en nombre, ni une date en nombre. Si les formats sont incompatibles, la formule renvoie un résultat vide. Pour éviter cela, vous pouvez choisir un format de sortie automatique en texte.
💡 Après chaque modification de formule, pensez à cliquer sur "Rafraîchir les formules" dans le menu de la colonne pour que les valeurs soient recalculées sur l'ensemble de vos lignes.

Opérateurs : comparer, combiner, conditionner

Tableau des opérateurs de comparaison, arithmétiques et logiques

Les opérateurs sont les connecteurs logiques et arithmétiques de vos formules. Ils vous permettent de comparer deux valeurs, d'effectuer des opérations mathématiques ou de combiner plusieurs conditions.

NomSyntaxeExempleDescription
EQUAL == 5 == 5 ➡️ vrai Vérifie si deux valeurs sont égales.
NOT EQUAL != 5 != 3 ➡️ vrai Vérifie si deux valeurs sont différentes.
LESS THAN < 3 < 5 ➡️ true Vérifie si une valeur est strictement inférieure à une autre.
MORE THAN > 5 > 3 ➡️ vrai Vérifie si une valeur est strictement supérieure à une autre.
LESS OR EQUAL <= 3 <= 5 ➡️ true Vérifie si une valeur est inférieure ou égale à une autre.
MORE OR EQUAL >= 5 >= 5 ➡️ vrai Vérifie si une valeur est supérieure ou égale à une autre.
AND and âge > 18 et ville == « Londres » Renvoie vrai si toutes les conditions sont vraies.
OR or âge > 18 ou ville == « Londres » Renvoie true si au moins une condition est vraie.
NOT not Âge inférieur à 18 ans Inverse une condition. Vrai si la condition est fausse.
IN in IN("5", [1, 2, 3, 5]) ➡️ vrai Vérifie si une valeur appartient à un ensemble de valeurs.
PLUS + 5 + 3 ➡️ 8 Ajoute deux valeurs.
MINUS - 5 - 3 ➡️ 2 Soustrait une valeur d'une autre.
MULTIPLY * 5 * 3 ➡️ 15 Multiplie deux valeurs.
DIVIDE / 15 / 3 ➡️ 5 Divise une valeur par une autre.
MODULO % 10 % 3 ➡️ 1 Renvoie le reste d'une division. Utile pour les vérifications pair/impair ou la gestion des cycles.
POWER ** 2 ** 3 ➡️ 8 Élève une valeur à la puissance d'une autre.
CONDITION TERNAIRE condition ? ifTrue : ifFalse X > 5 ? « Oui » : « Non » Renvoie l'une des deux valeurs en fonction du résultat d'une condition. L'opérateur le plus puissant pour l'affichage conditionnel.

Cas métier : qualifier automatiquement un lead selon son score

Un commercial gère ses prospects dans son CRM. Chaque prospect est noté entre 0 et 100. À l'aide de la condition ternaire, une colonne de formule affiche automatiquement la qualification :

Score >= 80 ? « Populaire » : Score >= 50 ? « Chaleureux » : « Froid » Score ≥ 80 → « Chaud » | Score ≥ 50 → « Tiède » | Sinon → « Froid »

Fonctions Date : gérer le temps dans vos processus

Les fonctions de date sont parmi les plus utilisées dans TimeTonic. Elles permettent de calculer des durées, d'ajouter des délais, d'extraire un jour ou un trimestre, et de comparer des dates entre elles : en jours calendaires ou en jours ouvrés.

FonctionSyntaxeExempleDescription
TODAY TODAY() TODAY() Renvoie la date du jour.
DATE_ADD DATE_ADD(date, nombre) DATE_ADD(AUJOURD'HUI(), 7) Ajoute X jours calendaires à une date.
DATE_ADDNB DATE_ADDNB(date, nombre) DATE_ADDNB(AUJOURD'HUI(), 10) Ajoute X jours ouvrables à une date.
DATEHOUR_ADD DATEHOUR_ADD(date, nombre) DATEHOUR_ADD('2024-09-17 12:00:00', 2) Ajoute X heures à une colonne date-heure.
DATEMINUTE_ADD DATEMINUTE_ADD(date, nombre) DATEMINUTE_ADD('2024-09-17 12:00:00', 30) Ajoute X minutes à une colonne date-heure.
WEEK_ADD WEEK_ADD(date, nombre) WEEK_ADD('2024-09-17', 2) Ajoute X semaines à une date.
MONTH_ADD MONTH_ADD(date, nombre) MONTH_ADD('2024-09-17', 3) Ajoute X mois à une date.
YEAR_ADD YEAR_ADD(date, nombre) YEAR_ADD('2024-09-17', 1) Ajoute X années à une date.
DAY_DELTA DAY_DELTA(date1, date2) DAY_DELTA('2024-09-17', '2024-09-10') ➡️ 7 Calcule la différence entre deux dates en jours.
DAY_OPEN_DELTA DAY_OPEN_DELTA(date1, date2) DAY_OPEN_DELTA('2024-09-17', '2024-09-10') Calcule la différence entre deux dates en jours ouvrables.
DAY_DELTA_TODAY DAY_DELTA_TODAY(date) DAY_DELTA_TODAY('2024-09-10') ➡️ 7 Calcule le nombre de jours entre une date et aujourd'hui.
WEEK_DELTA WEEK_DELTA(date1, date2) WEEK_DELTA('2024-09-17', '2024-08-01') ➡️ 7 Calcule la différence entre deux dates en semaines.
DELTA_DE_LA_SEMAINE_AUJOURD'HUI WEEK_DELTA_TODAY(date) WEEK_DELTA_TODAY('2024-08-01') ➡️ 7 semaines Calcule le nombre de semaines entre une date et aujourd'hui.
MONTH_DELTA MONTH_DELTA(date1, date2) MONTH_DELTA('2024-09-17', '2023-09-17') ➡️ 12 Calcule la différence entre deux dates en mois.
YEAR_DELTA_TODAY YEAR_DELTA_TODAY(date) YEAR_DELTA_TODAY('2023-09-17') ➡️ 1 an Calcule le nombre d'années entre une date et aujourd'hui.
TIME TIME(date-heure) TIME('12:30') ➡️ '12:30' Extrait l'heure d'une colonne date-heure.
TIME_DELTA TIME_DELTA(date_heure1, date_heure2) TIME_DELTA('14:30', '12:30') ➡️ 2h Soustrait deux colonnes date-heure ; résultat en minutes.
HOUR_DELTA HOUR_DELTA(date_heure1, date_heure2) HOUR_DELTA('2024-09-17 14:00', '2024-09-17 12:00') ➡️ 2 Soustrait deux colonnes date-heure ; résultat en heures.
DAY JOUR(date) DAY('2024-09-17') ➡️ 17 Extrait le numéro du jour du mois.
DAY_IN_WEEK JOUR_DE_LA_SEMAINE(date) DAY_IN_WEEK('2024-09-17') ➡️ 2 Renvoie le numéro du jour dans la semaine (la semaine commence le lundi).
WEEK SEMAINE(date) SEMAINE('2024-09-17') ➡️ 38 Renvoie le numéro de la semaine dans l'année.
MONTH MOIS(date) MOIS('2024-09-17') ➡️ 9 Renvoie le numéro du mois (1 à 12).
QUARTER TRIMESTRE(date) TRIMESTRE('2024-09-17') ➡️ 3 Renvoie le numéro du trimestre (1 à 4).
YEAR ANNÉE (date) ANNÉE('2024-09-17') ➡️ 2024 Extrait l'année d'une date.
YEAR_WEEK ANNÉE_SEMAINE(date) YEAR_WEEK('2024-09-17') ➡️ 2024-38 Renvoie l'année et le numéro de semaine ensemble.
YEAR_MONTH ANNÉE_MOIS(date) YEAR_MONTH('2024-09-17') ➡️ 2024-09 Renvoie l'année et le mois. Idéal pour regrouper par période.
YEAR_QUARTER ANNÉE_TRIMESTRE(date) YEAR_QUARTER('2024-09-17') ➡️ 2024-T3 Renvoie l'année et le trimestre.
MIN_DATE_ELEMENTS MIN_DATE_ELEMENTS(date1, date2, ...) MIN_DATE_ELEMENTS('2023-01-01','2023-06-01') ➡️ '2023-01-01' Renvoie la date la plus ancienne parmi les colonnes sélectionnées.
MAX_DATE_ELEMENTS MAX_DATE_ELEMENTS(date1, date2, ...) MAX_DATE_ELEMENTS('2023-01-01','2023-06-01') ➡️ '2023-06-01' Renvoie la date la plus récente parmi les colonnes sélectionnées.
FORMAT_DATE FORMAT_DATE(valeur, format) FORMAT_DATE(AUJOURD'HUI(), 'JJ/MM/AAAA') Formate une date à l'aide d'un modèle choisi. Renvoie toujours du texte | recommandé pour éviter les incompatibilités de format.
READ_DATE READ_DATE(valeur_texte, format, « classique|étendu ») READ_DATE("25-12-2024", "JJ-MM-AAAA", "classique") Convertit une chaîne de texte en date à l'aide du format spécifié.
TEXT_DAY TEXT_DAY(date) TEXT_DAY('2024-09-17') ➡️ « mardi » Renvoie le nom du jour de la semaine pour une date donnée.
ISO_WEEKNUM ISO_WEEKNUM(date) ISO_WEEKNUM(2026-01-01) ➡️ 1 Numéro de semaine ISO (les semaines commencent le lundi ; la semaine 1 comprend le premier jeudi de l'année).
WEEKNUM WEEKNUM(date) WEEKNUM(2026-01-10) ➡️ 2 Numéro de la semaine (les semaines commencent le dimanche ; la semaine 1 comprend le 1er janvier).

Cas métier : suivi des échéances et alertes de relance

Un gestionnaire de contrats veut savoir combien de jours il reste avant l'expiration de chaque contrat, et signaler ceux qui expirent dans moins de 30 jours.

// Colonne « Jours restants »
DAY_DELTA(TODAY(), Date d'expiration) Nombre de jours entre aujourd'hui et la date d'expiration
// Column "Alert"
DAY_DELTA(TODAY(), Expiry date) <= 30 ? "⚠️ Renewal needed" : "✅ OK" Under 30 days → "⚠️ Renewal needed" | Otherwise → "✅ OK"

Fonctions Texte : personnaliser et structurer vos informations

Les fonctions texte permettent de mettre en forme, d'extraire, de transformer et de sécuriser vos données alphanumériques. Elles sont particulièrement utiles pour normaliser des saisies, construire des identifiants, personnaliser des messages ou masquer des données sensibles.

FonctionSyntaxeExempleDescription
UPPER UPPER(texte) UPPER("lorem ipsum") ➡️ "LOREM IPSUM" Convertit toutes les lettres en majuscules.
LOWER LOWER(texte) LOWER("BONJOUR LE MONDE") ➡️ "bonjour le monde" Convertit toutes les lettres en minuscules.
TRIM TRIM(texte) TRIM(" Bonjour le monde ") ➡️ "Bonjour le monde" Supprime les espaces avant, arrière et supplémentaires à l'intérieur.
LENGTH LENGTH(text) LENGTH("Bonjour") ➡️ 7 Renvoie le nombre de caractères dans une chaîne (espaces compris).
LEFT LEFT(texte, nombre_de_caractères) LEFT("ABC1234", 3) ➡️ "ABC" Extrait les n premiers caractères. Idéal pour isoler un préfixe ou un code.
RIGHT RIGHT(texte, nombre_de_caractères) RIGHT("ABC1234", 4) ➡️ "1234" Extrait les n derniers caractères. Utile pour la fin d'un identifiant.
SUBSTR SUBSTR(texte, début, longueur) SUBSTR('Bonjour tout le monde', 0, 5) ➡️ « Bonjour » Extrait un certain nombre de caractères à partir d'une position donnée.
SEARCH SEARCH(texte_cherché, texte_dans_lequel, position) SEARCH("ban", "Banane", 1) ➡️ 1 Renvoie la position d'une sous-chaîne (sans distinction entre majuscules et minuscules).
FIND FIND(texte_cherché, texte_dans_lequel, position) FIND("A", "BANANE", 1) ➡️ 2 Renvoie la position d'une sous-chaîne (sensible à la casse).
REPLACE REPLACE(texte, position_début, nombre_de_c., nouveau_texte) REPLACE("TimeTonic", 1, 4, "Demo") ➡️ "DemoTonic" Remplace une partie du texte définie par une position et une longueur.
SUBSTITUTE SUBSTITUTE(texte_original, ancien_texte, nouveau_texte, instance?) SUBSTITUTE("TT-2026-01", "TT", "TM") ➡️ "TM-2026-01" Remplace une ou plusieurs occurrences d'une chaîne par une autre.
REGEXEXTRACT REGEXEXTRACT(texte, expression_régulière) REGEXEXTRACT("commande n°24158", "[0-9]+") ➡️ "24158" Extrait la première valeur correspondant à une expression régulière.
REGEXREPLACE REGEXREPLACE(texte, expression_régulière, remplacement?) REGEXREPLACE("Supermarché", "Super", "Hyper") ➡️ "Hypermarché" Remplace toutes les occurrences d'une expression régulière.
REGEXMATCH REGEXMATCH(texte, expression_régulière) REGEXMATCH("code T51234", "([A-Z].*([0-9]){5}") ➡️ vrai Vérifie si un texte correspond à une expression régulière. Renvoie vrai ou faux.
EXTRACT_ELEMENT EXTRACT_ELEMENT(valeur, nombre, séparateur) EXTRACT_ELEMENT('pomme,banane,cerise', 2, ",") ➡️ « banane » Extrait un élément d'une liste en fonction de sa position et de son séparateur.
APPLY_MASK APPLY_MASK(texte, masque) APPLY_MASK('1234567890', XXXXXX@@@@) ➡️ « 7890 » Masque (X) ou révèle (@) les caractères dans une chaîne. Utile pour protéger les données sensibles.
HTML_TO_TEXT HTML_TO_TEXT(texte) HTML_TO_TEXT('<p>Hello world!</p>') ➡️ "Hello world!" Convertit le HTML en texte brut lisible en supprimant les balises.
FORMAT_NUMBER FORMAT_NUMBER(valeur, format) FORMAT_NUMBER(12345,678, '0,0,00') Formate un nombre avec séparateur de milliers et décimales. Renvoie toujours du texte.

Cas métier : construire une référence client et masquer un numéro de carte

// Référence client = 3 premières lettres du nom de famille + année d'entrée
CONCAT( UPPER(LEFT(Nom de famille, 3)), "-", YEAR(Date d'entrée) ) Exemple : « SMI-2024 » pour Smith entrant en 2024

Fonctions Numériques : piloter vos chiffres

Des fonctions statistiques aux arrondis en passant par la sommation de colonnes multi-valeurs, TimeTonic couvre tous les besoins de calcul métier sans passer par un tableur externe.

FonctionSyntaxeExempleDescription
INT INT(valeur) INT(3.7) ➡️ 3 Renvoie la partie entière d'un nombre, en arrondissant vers le bas.
ROUND ROUND(valeur, précision) ROUND(3.14159, 2) ➡️ 3.14 Arrondit une valeur au nombre souhaité de décimales.
CEILING CEILING(valeur) CEILING(4.3) ➡️ 5 Arrondit à l'entier le plus proche.
FLOOR FLOOR(valeur) FLOOR(4.3) ➡️ 4 Arrondit à l'entier inférieur le plus proche.
SUM SUM(val1, val2, ...) SUM(10, 20, 30) ➡️ 60 Additionne le contenu de plusieurs colonnes.
SUBSTRACT SUBSTRACT(val1, val2, ...) SOUSTRAIRE(100, 45) ➡️ 55 Soustrait les valeurs de plusieurs colonnes les unes des autres.
MIN MIN(val1, val2, ...) MIN(10, 25, 5) ➡️ 5 Renvoie la plus petite valeur parmi les colonnes sélectionnées.
MAX MAX(val1, val2, ...) MAX(10, 25, 5) ➡️ 25 Renvoie la valeur la plus grande parmi les colonnes sélectionnées.
AVERAGE AVERAGE(val1, val2, ...) AVERAGE(10, 15, 20) ➡️ 15 Calcule la moyenne d'un ensemble de nombres.
MEDIAN MEDIAN(valeur1, valeur2, ...) MÉDIANE(1, 2, 3, 4) ➡️ 2,5 Renvoie la valeur médiane d'un ensemble de nombres.
STDEV STDEV(valeur1, valeur2, ...) STDEV(4, 5, 8, 10) ➡️ 2.75 Calcule l'écart type d'un ensemble de nombres.
NB_ELEMENTS NB_ELEMENTS(val1, val2, ...) NB_ELEMENTS('pomme','banane','cerise') ➡️ 3 Renvoie le nombre d'éléments dans les colonnes sélectionnées.
SUM_ELEMENTS SUM_ELEMENTS(val1, val2, ...) SUM_ELEMENTS(10, 20, 30) ➡️ 60 Additionne les valeurs numériques des colonnes pouvant contenir plusieurs valeurs séparées par des virgules.
MIN_NUM_ELEMENTS MIN_NUM_ELEMENTS(val1, val2, ...) MIN_NUM_ELEMENTS(10, 20, 5) ➡️ 5 Renvoie la plus petite valeur parmi les colonnes sélectionnées (prise en charge de plusieurs valeurs).
MAX_NUM_ELEMENTS MAX_NUM_ELEMENTS(val1, val2, ...) MAX_NUM_ELEMENTS(10, 20, 5) ➡️ 20 Renvoie la valeur la plus élevée parmi les colonnes sélectionnées (prise en charge de plusieurs valeurs).

Cas métier : calculer un prix TTC et formater l'affichage

FORMAT_NUMBER( ROUND(Prix hors TVA * 1,2, 2), '0,0.00' ) Exemple : 1 250,00 (pour un prix hors TVA de 1 041,67)

Autres fonctions : logique, géolocalisation et utilitaires

Au-delà des grandes familles, TimeTonic propose des fonctions utilitaires avancées : logique conditionnelle multiple, géolocalisation, construction d'URLs dynamiques, vérification de cellules vides, et identifiants techniques de lignes.

FonctionSyntaxeExempleDescription
IF IF(condition, ifTrue, ifFalse) IF(âge > 18, « adulte », « mineur ») Renvoie une valeur selon qu'une condition est vraie ou fausse.
SWITCH SWITCH(source, valeur1, résultat1, valeur2, résultat2, ..., défaut) SWITCH(Statut, "New","Urgent", "Completed","Fermé", "Inconnu") Compare une expression à plusieurs cas et renvoie le premier résultat correspondant. Un remplacement puissant pour les chaînes IF() imbriquées.
CONCAT CONCAT(param1, param2, ...) CONCAT("Prénom"," ","Nom") ➡️ "John Smith" Concatène plusieurs champs et valeurs textuelles en une seule chaîne.
CONCAT_URL CONCAT_URL(param1, param2, ...) CONCAT_URL("https://example.com/", "user/123") Crée dynamiquement une URL pour générer un lien personnalisé.
URL_TRIGGER URL_TRIGGER(texte) URL_TRIGGER('https://example.com') Déclenche l'URL spécifiée à chaque modification du tableau. Les identifiants du tableau et des lignes sont transmis en tant que paramètres.
COUNTIF COUNTIF(valeur, critère, séparateur) COUNTIF("101 205 301 50", ">100", " ") ➡️ 3 Compte les éléments d'un champ texte ou relationnel qui correspondent à un critère, après les avoir séparés par un séparateur.
IS_EMPTY IS_EMPTY(valeur) IF(IS_EMPTY(Nom), « Nom manquant », « Nom défini ») Vérifie si un champ est vide. Compatible avec les types texte, date, nombre, liste et relation.
EMPTY EMPTY(valeur) EMPTY(Nom) ➡️ vrai si vide Vérifie si une valeur est vide. Renvoie vrai ou faux.
ROWID ROWID() ROWID() ➡️ "jklm1234" Renvoie l'identifiant technique unique d'une ligne. Permet un référencement stable des lignes.
GEOLOC GEOLOC(texte) GEOLOC('10 Downing Street, Londres') ➡️ (51,50 ; -0,12) Convertit une adresse postale en coordonnées géographiques (latitude, longitude).
COORDINATES COORDINATES(valeurX, valeurY) COORDONNÉES(123, 456) Crée une paire de coordonnées X/Y. Utile pour stocker des points ou des emplacements géographiques.
COORDX COORDX(coordonnées) COORDX(COORDINATES(123, 456)) ➡️ 123 Extrait la valeur X d'une paire de coordonnées.
COORDY COORDY(coordonnées) COORDY(COORDINATES(123, 456)) ➡️ 456 Extrait la valeur Y d'une paire de coordonnées.
DISTANCE DISTANCE(coordA, coordB) DISTANCE([Coordonnée A], [Coordonnée B]) Calcule la distance en ligne droite entre deux coordonnées, en mètres.

Cas métier : afficher un statut dynamique avec SWITCH

Plutôt que d'imbriquer plusieurs IF() appels, SWITCH() rend les mappages de statut beaucoup plus lisibles et faciles à maintenir :

SWITCH(
  Status,
  "New",
    "🔴 Urgent",
  "In Progress",
    "🟡 En cours",
  "Completed",
    "🟢 Fermé",
  "Cancelled",
    "⚫ Annulé",
  "❓ Unknown"
) Displays the colour-coded label matching the row's status

Bonnes pratiques pour vos formules TimeTonic

Sélectionner les colonnes plutôt que les saisir manuellement

Dans l'éditeur de formule, tapez $ pour afficher la liste des colonnes de votre tableau, ou sélectionnez-les directement dans le panneau « Champs du tableau ». Cela permet d'éviter les fautes de frappe dans les noms de colonnes, qui sont souvent à l'origine du dysfonctionnement des formules.

Toujours rafraîchir après modification

Après chaque modification d'une formule, les valeurs existantes ne se recalculent pas automatiquement sur toutes les lignes. Pensez à utiliser l'option "Rafraîchir les formules" dans le menu de la colonne pour propager les changements.

Utilisez FORMAT_DATE et FORMAT_NUMBER pour éviter les incompatibilités.

Lorsque vous combinez plusieurs fonctions dans une seule formule, par exemple en mélangeant du texte avec une date, des conflits de format peuvent survenir. En encapsulant vos dates et vos nombres dans FORMAT_DATE() or FORMAT_NUMBER(), vous obtenez toujours du texte en sortie, ce qui est compatible avec pratiquement tous les cas d'utilisation.

Préférez SWITCH() aux chaînes IF() imbriquées.

Dès que vous avez plus de deux cas à traiter, SWITCH() est beaucoup plus lisible et facile à maintenir qu'une cascade de IF(). Votre formule sera plus facile à comprendre pour vos collègues et plus simple à mettre à jour à mesure que vos besoins évoluent.

Utilisez l'indentation pour faciliter la lecture.

L'éditeur TimeTonic comprend un bouton d'indentation automatique. Sur les formules complexes comportant plusieurs niveaux d'imbrication, utilisez-le systématiquement : une formule bien indentée est dix fois plus rapide à lire et à déboguer.

Découvrez comment TimeTonic transforme vos bases de données en outils métier personnalisés : sans développement, sans compromis.
Demandez votre démonstration
Créez facilement vos applications professionnelles avec NoCode
Commencez maintenant

Vous en voulez encore ?

Ces autres articles de blog peuvent vous intéresser
illustration pour TimeTonic ou Notion : quelle solution NoCode choisir ?
11 juin 2025
par 
L'équipe TimeTonic
Connaissances
TimeTonic ou Notion : quelle solution NoCode choisir ?
Une comparaison pratique entre Notion et TimeTonic pour vous aider à choisir l'outil no-code le plus adapté aux besoins de votre entreprise.
Lire la suite
Illustration pour Les 10 meilleurs outils NoCode en 2025 : Article de blog sur la création, l'automatisation et l'innovation
18 mars 2025
par 
L'équipe TimeTonic
Connaissances
Les 10 meilleurs outils NoCode en 2025 : Création, automatisation et innovation
Découvrez les solutions NoCode les plus performantes pour développer des applications, automatiser vos workflows et gérer vos données sans coder.
Lire la suite
10 avantages du NoCode et TimeTonic - Image d'illustration
28 juin 2023
par 
Jean-Michel Durocher
Connaissances
10 avantages du NoCode et de TimeTonic
Simplification, liberté, centralisation, automatisation... notre CEO, Jean-Michel Durocher, explore les 10 bénéfices les plus importants du NoCode et de TimeTonic.
Lire la suite