Formule matricielle
Une formule matricielle effectue des calculs sur une plage entière de valeurs en une seule formule, là où une formule ordinaire ne traiterait qu'une cellule. Dans les versions antérieures à Excel 365, elle se valide avec Ctrl+Maj+Entrée et s'affiche entre accolades {=...}.
À quoi sert un formule matricielle dans Excel ?
Une formule matricielle effectue un calcul sur plusieurs valeurs simultanément, là où une formule ordinaire ne traite qu'une cellule à la fois. Concrètement, elle te permet d'effectuer des opérations sur des plages entières en une seule expression, sans avoir à recopier la formule sur chaque ligne. Dans les versions antérieures à Excel 365, tu la valides avec Ctrl+Maj+Entrée et Excel l'encadre d'accolades {=...} pour indiquer qu'elle est matricielle.
Tu vas l'utiliser quand tu dois faire des calculs conditionnels complexes sur plusieurs colonnes à la fois, extraire des valeurs selon des critères croisés, ou compter des occurrences avec plusieurs conditions imbriquées. C'est l'outil de choix pour des formules comme "somme des ventes supérieures à 1000 euros pour le produit X sur les 3 derniers mois" sans passer par un TCD ou des colonnes intermédiaires.
Formule matricielle : exemples concrets
Exemple 1 : Contrôleur de gestion : calculer une somme avec plusieurs critères sans colonne intermédiaire
Tu es contrôleur de gestion dans une société de distribution régionale. Chaque mois, tu reçois un fichier de 8 000 lignes avec les ventes par produit, région et commercial. Ton directeur veut connaître le total des ventes de la catégorie "Électronique" pour la région "Sud" sur le mois de mars, sans que tu aies à créer une colonne supplémentaire ou un TCD temporaire.
Sans formule matricielle, tu te retrouves soit à écrire une SOMME.SI.ENS (possible ici, mais limitée à des critères simples), soit à créer des colonnes de calcul intermédiaires qui alourdissent le fichier. Avec une formule matricielle, tu écris par exemple {=SOMME((B2:B8000="Électronique")*(C2:C8000="Sud")*(MOIS(D2:D8000)=3)*E2:E8000)} et tu obtiens le résultat directement, validé avec Ctrl+Maj+Entrée.
Tu peux ensuite décliner la même logique pour d'autres catégories ou d'autres régions en modifiant simplement les critères dans la formule, sans toucher à la structure du fichier.
Exemple 2 : Responsable RH : compter les employés correspondant à plusieurs conditions simultanées
Tu es responsable RH dans une entreprise de 300 personnes. Tu dois produire un rapport mensuel qui indique combien d'employés sont à la fois en CDI, dans le département Marketing, et avec une ancienneté supérieure à 3 ans. Tu n'as pas envie de filtrer manuellement à chaque fois ni de créer un onglet dédié.
Une formule matricielle te permet de croiser ces trois conditions en une seule cellule : {=SOMME((A2:A300="CDI")*(B2:B300="Marketing")*(C2:C300>3))}. Chaque condition renvoie une plage de VRAI/FAUX (1/0), et la multiplication sélectionne uniquement les lignes qui satisfont les trois critères à la fois. Tu obtiens ton chiffre sans filtre ni tableau supplémentaire.
Quand un nouveau critère s'ajoute (par exemple, ne compter que les employés en contrat depuis le 1er janvier), tu intègres la condition directement dans la formule. Elle s'adapte sans refonte du fichier.
- #1 Sur Excel 365, la plupart des formules sont matricielles par défaut et se valident avec Entrée comme une formule normale. Tu n'as plus besoin de Ctrl+Maj+Entrée sauf sur des versions antérieures à 2019.
- #2 Pour modifier une formule matricielle ancienne style (entre accolades), sélectionne la plage entière qu'elle occupe avant de l'éditer. Tu ne peux pas modifier une seule cellule de la plage.
- #3 Si tu veux comprendre ce que fait une formule matricielle étape par étape, sélectionne une partie de la formule dans la barre de formule et appuie sur F9 pour voir le résultat intermédiaire de cette portion.
- #4 Évite les formules matricielles sur des plages de colonnes entières (A:A) : elles forcent Excel à calculer 1 048 576 cellules et ralentissent considérablement le fichier.
Les formules matricielles ne se comportent pas de la même façon sur Excel 2016 (ou antérieur) et Excel 365. Un fichier .xlsx contenant des formules matricielles Excel 365 (FILTRE, UNIQUE...) affichera des erreurs #NOM? sur les anciennes versions qui ne connaissent pas ces fonctions. Si tu partages des fichiers avec des collègues sur des versions différentes, vérifie la compatibilité avant d'utiliser les nouvelles syntaxes.
Les erreurs courantes avec le formule matricielle
✕ Valider la formule avec Entrée au lieu de Ctrl+Maj+Entrée (Excel 2016 et antérieur)
Si tu écris une formule qui doit être matricielle mais que tu la valides simplement avec Entrée, Excel ne comprend pas qu'elle doit traiter une plage : il renvoie soit la valeur de la première cellule uniquement, soit une erreur #VALEUR!. Les accolades n'apparaissent pas dans la barre de formule, signe que la formule n'est pas reconnue comme matricielle.
Sur les anciennes versions d'Excel, ce comportement est silencieux : la formule semble fonctionner mais renvoie un résultat incorrect sans message d'erreur explicite. Tu peux croire que ton calcul est bon alors qu'il ne porte que sur la première valeur de ta plage.
Solution : Sur Excel 2016 et antérieur, valide toujours une formule matricielle avec Ctrl+Maj+Entrée. Les accolades {=...} doivent apparaître automatiquement dans la barre de formule. Ne les tape pas toi-même : elles seraient ignorées.
✕ Modifier une seule cellule d'une plage matricielle multi-cellules
Quand une formule matricielle renvoie des résultats sur plusieurs cellules (par exemple une extraction sur 10 lignes), toutes ces cellules forment un bloc lié. Si tu essaies de modifier ou supprimer une seule cellule de ce bloc, Excel affiche un message d'erreur et bloque l'action.
C'est déroutant quand tu hérites d'un fichier conçu par quelqu'un d'autre. Tu vois une plage avec des valeurs, tu veux en changer une, et Excel refuse catégoriquement sans t'expliquer pourquoi.
Solution : Sélectionne toute la plage matricielle avant de la modifier ou de la supprimer. Si tu ne sais pas quelle est l'étendue de la plage, clique sur une cellule du bloc et appuie sur Ctrl+/ pour sélectionner la plage matricielle entière.
✕ Utiliser une plage entière de colonne dans une formule matricielle
Il est tentant d'écrire {=SOMME((A:A="Oui")*B:B)} pour éviter de gérer la taille de la plage. Le problème, c'est qu'Excel va calculer cette formule sur plus d'un million de lignes à chaque recalcul, même si ton tableau ne fait que 500 lignes.
Sur un fichier avec plusieurs formules matricielles de ce type, les performances s'effondrent. Chaque modification dans le classeur déclenche un recalcul complet, et le fichier peut prendre plusieurs secondes à répondre.
Solution : Délimite toujours tes plages à la zone réelle de tes données, par exemple A2:A500. Si tes données grandissent souvent, convertis ton tableau en Tableau structuré (Ctrl+T) et utilise les références structurées qui s'adaptent automatiquement.
Quelle est la différence entre formule matricielle et un tableau dynamique ?
Une formule matricielle (ancienne syntaxe) effectue un calcul sur une plage et renvoie un résultat fixe dans une cellule ou une plage délimitée. Tu dois valider avec Ctrl+Maj+Entrée sur les versions antérieures à Excel 365, et la plage de résultats doit être définie à l'avance. C'est puissant, mais rigide : si tes données grandissent, la formule ne s'adapte pas automatiquement.
Les tableaux dynamiques (Excel 365) font la même chose mais de façon beaucoup plus souple : une formule unique se déverse automatiquement dans autant de cellules que nécessaire via le débordement. Les fonctions FILTRE, UNIQUE ou TRIER exploitent ce mécanisme. Si ta source grossit, le résultat s'étend tout seul. En pratique, si tu travailles sur Excel 365, privilégie les fonctions dynamiques pour leur lisibilité et leur adaptabilité.
Questions fréquentes sur le formule matricielle
Une formule normale effectue un calcul sur une cellule et renvoie un résultat unique. Une formule matricielle effectue le même type de calcul sur une plage entière de cellules en une seule fois, ce qui te permet de faire des opérations conditionnelles complexes sans colonnes intermédiaires. Sur Excel 365, cette distinction s'efface un peu car les formules sont matricielles par défaut, mais sur les versions antérieures, tu dois explicitement valider avec Ctrl+Maj+Entrée.
Clique sur la cellule qui contient la formule. Si elle est matricielle (ancienne syntaxe), tu verras des accolades autour de la formule dans la barre de formule : {=SOMME(...)}. Sur Excel 365, les nouvelles formules matricielles n'ont pas d'accolades mais peuvent renvoyer plusieurs résultats en se déversant dans les cellules adjacentes via le mécanisme de débordement.
Oui, mais leur rôle a évolué. Avec Excel 365, des fonctions comme FILTRE, UNIQUE ou TRIER remplacent avantageusement beaucoup de formules matricielles complexes d'avant. La plupart des opérations matricielles se font maintenant de façon plus naturelle avec ces nouvelles fonctions. Cela dit, certaines combinaisons de calcul restent plus lisibles sous forme matricielle, notamment pour des agrégations conditionnelles sur plusieurs critères.
Termes liés
Envie d'aller plus loin ?
Explore les 293 termes de notre lexique ou découvre nos formules Excel.