Aller au contenu principal

Fonctions dynamiques modernes

MOS Excel (Microsoft 365)Fonctions de base et avancées

Fonctions dynamiques modernes

Définition

Les fonctions dynamiques renvoient un tableau de résultats qui se répand automatiquement dans les cellules voisines : TRIER, TRIERPAR, UNIQUE, FILTRE et TABLEAU.ALEA. Disponibles depuis Microsoft 365, elles remplacent les anciennes formules matricielles validées par Ctrl+Maj+Entrée et sont testées dans l'examen MO-211.

Le principe de propagation

Une formule dynamique saisie dans une seule cellule renvoie plusieurs valeurs qui se répandent vers le bas ou la droite. La zone occupée est entourée d'un cadre bleu et se référence par un dièse :

=FILTRE(A2:C20;B2:B20="Oui")
=SOMME(D2#)

La référence D2# désigne toute la zone propagée. Si une cellule de cette zone contient déjà une valeur, la formule affiche l'erreur #PROPAGATION (#SPILL en anglais). Il faut vider la cellule bloquante ou la déplacer.

Les fonctions dynamiques

Fonction Syntaxe Description
TRIER (SORT) =TRIER(plage;[index_tri];[ordre]) Trie une plage par une ou plusieurs colonnes
TRIERPAR (SORTBY) =TRIERPAR(plage;plage_tri1;[ordre1];...) Trie selon une ou plusieurs plages externes
UNIQUE =UNIQUE(plage;[par_colonne];[exactement_une_fois]) Renvoie les valeurs distinctes d'une plage
FILTRE (FILTER) =FILTRE(plage;condition;[si_vide]) Renvoie les lignes répondant à une condition
TABLEAU.ALEA (RANDARRAY) =TABLEAU.ALEA(lignes;[colonnes];[min];[max];[entier]) Génère un tableau de nombres aléatoires

FILTRE

FILTRE renvoie toutes les lignes d'une plage qui répondent à une condition portant sur une colonne de même taille. La condition se combine avec * pour le ET logique et + pour le OU logique :

=FILTRE(A2:C20;(A2:A20="Nord")*(C2:C20>500);"Aucune vente")

Le 3e argument affiche un message au lieu de l'erreur #CALC! quand aucun résultat ne correspond. Sans lui, la formule renvoie #CALC!.

Fonction FILTRE : renvoyer les lignes d'un produit donné dans une région (Microsoft Support)

TRIER, TRIERPAR, UNIQUE et TABLEAU.ALEA

TRIER trie une plage par colonne : =TRIER(A2:C20;3;-1) trie par la 3e colonne en ordre décroissant. TRIERPAR trie selon une plage externe, utile quand les données à trier et les critères ne sont pas dans la même plage : =TRIERPAR(A2:C20;C2:C20;-1). UNIQUE renvoie les valeurs distinctes ; le 3e argument VRAI ne garde que les valeurs présentes exactement une fois. TABLEAU.ALEA génère des nombres aléatoires : =TABLEAU.ALEA(10;1;1;100;VRAI) produit 10 entiers entre 1 et 100. C'est une fonction volatile, les valeurs changent à chaque recalcul.

Exemple concret

Un tableau des ventes en A2:C5 contient Région, Vendeur et Montant.

Région Vendeur Montant
Nord Dupont 1200
Sud Martin 800
Nord Martin 950
=FILTRE(A2:C5;A2:A5="Nord")      renvoie les deux lignes Nord
=UNIQUE(A2:A5)                    renvoie Nord et Sud
=TRIER(A2:C5;3;-1)                classe par montant décroissant