Fonctions de tableaux
Les fonctions de tableaux vous permettent de manipuler des listes de données : calculer des sommes, filtrer des éléments, transformer des valeurs, et plus encore.
Agrégation
Ces fonctions réduisent un tableau à une seule valeur.
SOMME(tableau)
Calcule la somme de tous les éléments d'un tableau numérique.
SOMME([10, 20, 30]) // 60
SOMME([1.5, 2.5, 3]) // 7
SOMME({{commande.produits.prixHT}}) // Somme des prix HTBon à savoir : SOMME([])sur un tableau vide retourne 0.
MOYENNE(tableau)
Calcule la moyenne arithmétique des éléments d'un tableau.
MOYENNE([10, 20, 30]) // 20
MOYENNE([100, 80, 90, 70]) // 85
MOYENNE({{produits.notes}}) // Note moyenneMAX(tableau) ou MAX(a, b, c...)
Retourne la valeur maximale. Fonctionne avec un tableau ou plusieurs arguments.
MAX([5, 2, 8, 1]) // 8
MAX(10, 20, 5) // 20
MAX({{produits.stock}}) // Stock le plus élevéBon à savoir : MAX([])sur un tableau vide retourne 0.
COMPTER(valeur)
Retourne le nombre d'éléments dans un tableau ou de caractères dans une chaîne.
COMPTER([1, 2, 3, 4, 5]) // 5
COMPTER("Bonjour") // 7
COMPTER({{commande.produits}}) // Nombre de produitsFiltrage et recherche
Ces fonctions permettent de sélectionner des éléments selon des critères.
FILTRER(tableau, condition)
Retourne un nouveau tableau contenant uniquement les éléments qui satisfont la condition. Utilisez {{$}} pour référencer l'élément courant.
// Filtrer les nombres supérieurs à 10
FILTRER([5, 15, 8, 20, 3], {{$}} > 10) // [15, 20]
// Filtrer les produits en stock
FILTRER({{produits}}, {{$.stock}} > 0)
// Filtrer les commandes validées
FILTRER({{commandes}}, {{$.statut}} == "validée")
// Condition multiple
FILTRER({{produits}}, {{$.prix}} > 50 ET {{$.stock}} > 0)Astuce : {{$}} représente l'élément courant pendant l'itération. Pour accéder à ses champs, utilisez {{$.nomChamp}}.
TROUVER(tableau, condition)
Retourne le premier élément qui satisfait la condition, ou false si aucun n'est trouvé.
// Trouver le premier nombre pair
TROUVER([1, 3, 4, 7, 8], {{$}} % 2 == 0) // 4
// Trouver le premier produit en rupture
TROUVER({{produits}}, {{$.stock}} == 0)
// Trouver une commande spécifique
TROUVER({{commandes}}, {{$.numero}} == "CMD-001")Attention : Cette fonction retourne false si aucun élément n'est trouvé, pas un tableau vide. Pensez à gérer ce cas avec une condition.
UNIQUE(tableau)
Élimine les doublons et retourne un tableau avec des valeurs uniques.
UNIQUE([1, 1, 2, 3, 3, 3, 4]) // [1, 2, 3, 4]
UNIQUE(["a", "b", "a", "c"]) // ["a", "b", "c"]
UNIQUE({{commande.produits.tva}}) // Taux de TVA uniquesTransformation
Ces fonctions créent de nouveaux tableaux en transformant chaque élément.
TRANSFORMER(tableau, expression)
Applique une transformation à chaque élément et retourne un nouveau tableau. Utilisez {{$}} pour référencer l'élément courant.
// Doubler chaque nombre
TRANSFORMER([1, 2, 3], {{$}} * 2) // [2, 4, 6]
// Extraire un champ de chaque objet
TRANSFORMER({{produits}}, {{$.nom}}) // ["Produit A", "Produit B", ...]
// Calculer le TTC de chaque produit
TRANSFORMER({{produits}}, {{$.prixHT}} * 1.20)
// Formater chaque valeur
TRANSFORMER([10, 20, 30], CONCAT({{$}}, " €")) // ["10 €", "20 €", "30 €"]TRIER(tableau)
Trie un tableau numérique en ordre croissant.
TRIER([5, 2, 8, 1, 9]) // [1, 2, 5, 8, 9]
TRIER({{produits.prix}}) // Prix triés du plus bas au plus hautManipulation
Ces fonctions permettent de combiner, découper ou assembler des tableaux.
CONCAT(arg1, arg2, ...)
Concatène des chaînes, nombres ou tableaux. Très polyvalent !
// Concaténer des chaînes
CONCAT("Bonjour ", "Constance") // "Bonjour Constance"
// Mélanger texte et nombres
CONCAT("Total : ", 150, " €") // "Total : 150 €"
// Concaténer des tableaux
CONCAT([1, 2], [3, 4]) // [1, 2, 3, 4]JOINDRE(tableau, séparateur)
Joint les éléments d'un tableau en une chaîne avec un séparateur.
JOINDRE(["a", "b", "c"], ", ") // "a, b, c"
JOINDRE(["Paris", "Lyon", "Marseille"], " - ") // "Paris - Lyon - Marseille"
JOINDRE({{produit.categories}}, ", ") // "Catégorie1, Catégorie2"COUPER(texteOuTableau, nombre, depuis?)
Extrait une portion d'une chaîne ou d'un tableau.
// Extraire les 3 premiers caractères
COUPER("Bonjour", 3) // "Bon"
// Extraire 4 caractères depuis la position 3
COUPER("Bonjour", 4, 3) // "jour"
// Extraire les 2 premiers éléments
COUPER([1, 2, 3, 4, 5], 2) // [1, 2]
// Limiter la longueur d'un nom
COUPER({{client.nom}}, 20)ZIP(tableau1, tableau2)
Entrelace deux tableaux en alternant leurs éléments.
ZIP([1, 3, 5], [2, 4, 6]) // [1, 2, 3, 4, 5, 6]
ZIP(["a", "c"], ["b", "d"]) // ["a", "b", "c", "d"]Exemples combinés
En pratique, vous combinerez souvent plusieurs fonctions. Voici des exemples réalistes.
Calculer le total d'une commande
var lignes = {{commande.produits}};
var sousTotal = TRANSFORMER(lignes, {{$.quantite}} * {{$.prixUnitaire}});
SOMME(sousTotal)Trouver les produits à réapprovisionner
var produits = {{magasin.produits}};
var enRupture = FILTRER(produits, {{$.stock}} < {{$.stockMinimum}});
var noms = TRANSFORMER(enRupture, {{$.nom}});
JOINDRE(noms, ", ")Résultat : "Produit A, Produit C, Produit F"
Calculer la TVA par taux
var produits = {{commande.produits}};
var tauxUniques = UNIQUE(TRANSFORMER(produits, {{$.tva}}));
TRANSFORMER(tauxUniques,
CONCAT(
"TVA ", {{$}}, "% : ",
SOMME(
TRANSFORMER(
FILTRER(produits, {{$.tva}} == {{$1}}),
{{$.prixHT}} * {{$.tva}} / 100
)
),
" €"
)
)Résultat : ["TVA 5.5% : 12.50 €", "TVA 20% : 45.00 €"]
Prochaine étape
Découvrez maintenant les fonctions de manipulation de dates pour travailler avec des échéances, des périodes et des calendriers.