📋Fonctions de liste
Mis à jour
Ce contenu vous a-t-il été utile ?
Mis à jour
Ce contenu vous a-t-il été utile ?
Ce contenu vous a-t-il été utile ?
Les fonctions sur les formules sont disponibles dans chacune des sous-pages dédiées :
Des exemples de formules prêtes à l'emploi se trouvent ici : Bibliothèque de formules classiques
La fonction FILL
remplace une partie d'une liste, spécifiée par un numéro de début inclut et un numéro de fin non inclut, par une valeur donnée.
FILL(liste, valeur, début, fin)
FILL([0, 0, 0, 0], 10, 2, 4)
→ [0, 10, 10, 0]
FILL(["pomme", "banane", "cerise"], "fruit", 2, 4)
→ ["pomme", "fruit", "fruit"]
La fonction FILTER
filtre les éléments d'une liste pour conserver ceux qui répondent à condition spécifiée.
FILTER(liste, lambda)
FILTER([1, 2, 3, 4], x => x % 2 == 0)
→ [2, 4]
FILTER(["a", "b", "c"], x => x != "b")
["a", "c"]
Il est possible de filtrer les éléments d'une liste avec des lambda fonctions. L'exemple suivant permet de filtrer une liste de contacts par ceux ont 20 ans :
La fonction INCLUDES
détermine si une liste contient un élément spécifié.
INCLUDES(liste, élément)
INCLUDES([1, 2, 3], 2)
→ true
Remarque
Pour appliquer la formule includes sur une chaîne de caractères il faut d'abord séparer la chaîne en liste : INCLUDES(SPLIT("Hello", ""), "H")
→ true
La fonction INDEX
renvoie l'élément à un indice donné dans un tableau.
INDEX(liste, indice1, indice2, ...)
INDEX([1, 2, 3], 2)
→ 2
INDEX([[1, 2], [3, 4]], 2, 1)
→ 3
Remarque
Une version simplifiée de cette fonction existe. Attention, les indices commencent à 0 au lieu de 1 dans cette version.
[1, 2, 3][1]
→ 2
[[1, 2], [3, 4]][1][0]
→ 3
La fonction REDUCE
applique une fonction contre un accumulateur et chaque élément du tableau (de gauche à droite) pour le réduire à une seule valeur.
REDUCE(initial, liste, lambda)
REDUCE(0, [1, 2, 3, 4], (acc, x) => acc + x)
→ 10
REDUCE(10, [1, 2, 3], (acc, val) => acc * val)
-> 60
La fonction SORT
trie les éléments d'une liste par ordre croissant par défaut. Vous pouvez également définir votre propre fonction de comparaison pour faire le tri.
SORT(liste)
SORT(liste, fonctionComparaison)
SORT([3, 1, 4, 2])
→ [1, 2, 3, 4]
SORT([3, 1, 4, 2], (a, b) => (b-a))
→ [4, 3, 2, 1]
SORT(["pomme", "banane", "cerise"])
→ ["banane", "cerise", "pomme"]
Remarque
Cette formule trie les dates des éléments liés par ordre décroissant, puis sélectionne la plus récente. Elle permet ainsi d’identifier la date la plus récente dans la liaison multiple.
Formule de type : Date
La fonction SPLICE
change le contenu d'une liste en retirant, remplaçant ou ajoutant de nouveaux éléments. Il faut choisir un indice de début à partir duquel commencer les modifications, puis préciser le nombre d'éléments à supprimer, et enfin choisir les éléments à ajouter.
SPLICE(liste, début, nbrSuppression, élément1, [élément2, ...])
SPLICE([1, 2, 3, 4], 2, 0, 'a', 'b')
→ [1, 'a', 'b', 2, 3, 4]
SPLICE(["pomme", "banane", "cerise"], 3, 1, "fraise")
-> ["pomme", "banane", "fraise"]
La fonction SUMIF
additionne les valeurs de la liste liste_sum
dont les éléments correspondant dans liste
répondent à une condition spécifiée.
SUMIF(liste, lambda, liste_sum = liste)
SUMIF([1, 2, 3, 4], x => x > 2)
→ 7
SUMIF([1, 2, 3, 4], x => x % 2 === 0, [10, 20, 30, 40])
→ 60
Il est possible de conditionner la formule par une lambda fonction. L'exemple suivant permet de faire la somme des absences justifiées des élèves d'une classe :
FILTER(contact, (x,i)=> INDEX(age,i+1)=20)
INDEX(SORT({Liaisons multiples -> Date}, (a,b) => DATE_DIFF(b,a)), 1)
SUMIF(Absences, (x,i)⇒ INDEX(Motif, i+1)=”Justifiée”)