Vous êtes sur la page 1sur 14

FORMULES MATRICIELLES

Une matrice est une collection ordonnée d'éléments.


Excel permet saisir des formules matricielles.
Une matrice est un tableau de chiffre qui est considéré par Excel comme une entité indissociable.

Les fonctions matricielles, qui effectuent des calculs sur ces tableaux internes, renvoient soit une
valeur soit un tableau de valeurs.
Une formule matricielle peut effectuer plusieurs calculs et renvoyer des résultats simples ou
multiples : vous utilisez une formule matricielle lorsque vous devez effectuer plusieurs fois le
même calcul en utilisant deux ensembles ou plus de valeurs différentes, nommés arguments
matriciels.

Autrement dit, le calcul matriciel permet de faire en une seule opération des calculs
qui demanderaient normalement des étapes intermédiaires et notamment la
création de colonnes supplémentaires.
Chaque argument matriciel doit posséder le même nombre de lignes et de colonnes.

Vous identifiez facilement une formule matricielle dans la barre de formule,


car elle est placée entre accolades. {}
Vous créez des formules matricielles de la même façon que des formules standard simples, en les
faisant précéder d’un signe égal " = ",
mais vous les validez en appuyant sur CTRL+MAJ+ENTREE et non uniquement sur ENTREE.

 Vous ne pouvez pas saisir manuellement une formule matricielle en la plaçant entre
accolades. Celles-ci sont générées automatiquement lors de la validation de la formule par
CTRL+MAJ+ENTREE.

 Lorsque vous modifiez une formule matricielle, vous devez à nouveau la valider par
CTRL+MAJ+ENTREE.

 Si vous copiez une formule matricielle : une validation par CTRL+MAJ+ENTREE, après la
copie, est indispensable.
Une formule matricielle s'écrit donc souvent sur plusieurs cellules à la fois.
Par exemple, sélectionner la plage A1:A5. Inscrire dans la barre de formule

={45;55;75;34;45}
validé par CTRL+MAJ+Entrée.
Les accolades indiquent une matrice, les points-virgules signifient matrice verticale.

De la même façon,
={45\435\47}
validé par CTRL+MAJ+Entrée, va renvoyer une matrice horizontale, (en sélectionnant A2:C2)

={45\435\47;55\564\55}
validé par CTRL+MAJ+Entrée, une matrice à deux lignes et trois colonnes (en sélectionnant
A2:C3)

Dans l'exemple ci-dessous, c'est l'écart relatif entre deux tableaux qui est calculé :

Formule matricielle :
{=C2:D6/A2:B6-1}

Page 2 sur 14
REFORMULATION SUR LES CELLULES MATRICIELLES
Les formules utilisées jusqu’à présent permettent de calculer le contenu d’une cellule à l’aide d’une
ou de plusieurs autres valeurs contenues dans d’autres cellules, ou à l’aide de constantes.

Bien souvent, ces calculs sont répétitifs. Vous avez donc besoin de recopier des formules sur des
lignes ou des colonnes. Cette solution fonctionne correctement mais elle peut présenter des
inconvénients lorsqu’il s’agit d’effectuer des modifications.

En effet, il ne faut pas oublier d’assurer la cohérence des formules en recopiant les modifications,
partout où cela est nécessaire. Il serait intéressant de traiter ces calculs de façon plus synthétique
et plus concise.

C’est ici qu’interviennent les formules matricielles.


Les formules matricielles contiennent des arguments qui sont des plages de cellules, appelées
aussi « plages matricielles ».

FORMULE MATRICIELLE : POURQUOI ?


Une formule matricielle peut effectuer plusieurs calculs et renvoyer des résultats simples ou
multiples :
vous utilisez une formule matricielle lorsque
 vous devez effectuer plusieurs fois le même calcul en utilisant deux ensembles ou plus de
valeurs différentes, nommés arguments matriciels.

Autrement dit, le calcul matriciel permet de faire en une seule opération des calculs qui
demanderaient normalement des étapes intermédiaires et notamment la création de colonnes
supplémentaires.
Chaque argument matriciel doit posséder le même nombre de lignes et de colonnes.

Vous identifiez facilement une formule matricielle dans


la barre de formule, car elle est placée entre accolades. {}
Vous créez des formules matricielles de la même façon que des formules standard simples, en les
faisant précéder d’un signe égal (=), mais vous les validez en appuyant sur CTRL+MAJ+ENTREE
et non uniquement sur ENTREE.

 Vous ne pouvez pas saisir manuellement une formule matricielle en la plaçant entre
accolades. Celles-ci sont générées automatiquement lors de la validation de la formule par
CTRL+MAJ+ENTREE.
 Lorsque vous modifiez une formule matricielle, vous devez à nouveau la valider par
CTRL+MAJ+ENTREE.
 Si vous copiez une formule matricielle : une validation par CTRL+MAJ+ENTREE, après la
copie, est indispensable.

Page 3 sur 14
La plage
matricielle
C6:C13

La plage
matricielle
C6:F13

Page 4 sur 14
FORMULE MATRICIELLE À UNE DIMENSION
Supposons que vous disposiez d’une feuille de calcul contenant
 des tarifs de produits (plage C6:C13)
 des taux de remise associés à chaque produit (plage D6:D13).

Vous allez calculer le prix unitaire net HT de chacun des produits.


1. Sélectionnez E6:E13.
2. Cliquez dans la barre de formule.
3. Saisissez =C6:C13*(1−D6:D13).
4. Validez par [Ctrl]+[Maj]+[Entrée].

Le fait de valider par la combinaison de touches [Ctrl]+[Maj]+[Entrée] indique à Excel qu’il s’agit
d’une formule matricielle. La formule que vous avez saisie apparaît entre accolades dans la barre
de formule. C’est un signe distinctif des formules matricielles.

Cette formule vous évite de créer une formule en E6, puis de la recopier jusqu’en F13. Les
arguments sont des plages matricielles (C6:C13 et D6:D13). En fait, Excel interprète cette formule
de la façon suivante :

1. la valeur de la cellule située


pour chaque
sur la même ligne et dans la colonne C est multipliée par 1,
cellule de la plage
2. puis diminuée de la valeur de la cellule située
E6:E13,
sur la même ligne et dans la colonne D.

Page 5 sur 14
Calculons à présent les prix TTC :
1. Sélectionnez F6:F13.
2. Cliquez dans la barre de formule.
3. Saisissez =E6:E13*(1+$F$3).
4. Validez par [Ctrl]+[Maj]+[Entrée].

Cette formule matricielle utilise, entre autres, une cellule unique : la cellule F3.

La valeur de la cellule est donc employée pour le calcul des valeurs de chacune des cellules de la
plage sélectionnée (F6:F13).

Les matrices qui contiennent les résultats précédents sont dites à une dimension, car elles ne
contiennent qu’une seule colonne (si elles ne contenaient qu’une seule ligne, elles seraient
également qualifiées de "matrice à une dimension").

Page 6 sur 14
SAISIR UNE FORMULE MATRICIELLE À DEUX DIMENSIONS
Supposons à présent que vous deviez calculer les capacités de production journalières de plusieurs
lignes de production.
Sur votre feuille de calcul, les capacités journalières des machines se trouvent dans la plage B7:B12
et les durées du travail quotidien en C4:I4. Pour chaque jour et chaque machine, il faut multiplier la
capacité horaire par la durée du travail.

1. Sélectionnez C7:I12.
2. Cliquez dans la barre de formule.
3. Saisissez =B7:B12*C4:I4.
4. Validez par [Ctrl]+[Maj]+[Entrée].

Une formule matricielle à deux dimensions.

À l’aide d’une seule formule, vous réalisez des calculs qui demanderaient autrement 42 formules
"individuelles".

Quels sont les calculs effectués dans les cellules de la plage C7:I12 ?

 En C7, le calcul effectué est B7*C4.


 En D10, le calcul effectué est B10*D4.
 …etc.

Page 7 sur 14
SAISIR UNE FORMULE MATRICIELLE À VALEUR UNIQUE
Les deux types de formules traitées jusqu’à présent fournissent des résultats sous forme de
matrices (à une ou deux dimensions).

Il est possible de créer des formules matricielles qui produisent une valeur unique, à partir
d’arguments matriciels.

Vous allez calculer les capacités totales de production journalières à l’aide de telles formules :
1. En C13, saisissez =SOMME($B$7:$B$12*C4).
2. Validez par [Ctrl]+[Maj]+[Entrée].
3. Étendez le contenu, à l’aide de la poignée de recopie, jusqu’en I13.

L’extension et donc la copie de formules matricielles donnent des résultats satisfaisants. Le choix
des références absolues, relatives ou mixtes est aussi crucial que dans le cas des formules
"classiques".
Si vous validez la formule précédente avec [Entrée] à la place de la combinaison
[Ctrl]+[Maj]+[ Entrée], vous obtenez le message d’erreur #VALEUR!.

CARACTÉRISTIQUES DES FORMULES MATRICIELLES


Les formules matricielles présentent des particularités :
 Pour modifier une formule matricielle, sélectionnez la totalité de la plage matricielle sur
laquelle elle s’applique.
 Vous ne pouvez insérer, déplacer ou supprimer une ligne, une colonne ou même une cellule
d’une plage contenant une formule matricielle.
 Vous ne pouvez pas, non plus, déplacer une partie de matrice.

Dans tous ces cas, vous obtenez un message d’erreur.

En revanche, vous pouvez mettre en forme de façon indépendante chacune des cellules
constitutives d’une plage matricielle.

Vous pouvez également copier, puis coller, une ou plusieurs cellules d’une plage matricielle.
Si votre sélection est de taille supérieure à celle des arguments, certaines cellules de la plage
contiendront le message d’erreur #N/A.
Page 8 sur 14
MODIFIER UNE FORMULE MATRICIELLE
Pour modifier une formule matricielle, il faut d’abord sélectionner l’intégralité de la plage de
cellules sur laquelle elle s’applique.

Pour cela, il existe deux possibilités :

 Sélectionnez une cellule de la plage et appuyez sur [Ctrl]+[/].


Ou bien
 Sélectionnez une cellule de la plage et cliquez sur le bouton
Rechercher et sélectionner du groupe Edition de l’onglet Accueil.
Choisissez ensuite Sélectionner les cellules,
Puis sélectionnez Matrice en cours puis cliquez sur OK.

Une fois la plage sélectionnée, cliquez dans la barre de formule puis effectuez les modifications
souhaitées. Une fois les modifications effectuées, validez par [Ctrl]+[Maj]+[Entrée].
Pour effacer purement et simplement, utilisez la touche [Suppr] une fois la plage sélectionnée.

CONSTANTES MATRICIELLES
Il est également possible de saisir des constantes matricielles. Les principes de saisie sont les
suivants :
1. Sélectionnez la plage dans laquelle vous souhaitez saisir votre constante matricielle.
2. Cliquez dans la barre de formule.
3. Saisissez ={.
4. Saisissez les valeurs de votre constante. Les lignes sont séparées par des points-virgules, les
valeurs des colonnes par des "\".
5. Saisissez l’accolade fermante (}).
6. Validez par [Ctrl]+[Maj]+[Entrée].

Une formule matricielle s'écrit donc souvent sur plusieurs cellules à la fois.

Page 9 sur 14
Par exemple, sélectionner la plage A1:A5. Inscrire dans la barre de formule
={45;55;75;34;45}
validé par CTRL+MAJ+Entrée.
Les accolades indiquent une matrice, les points-virgules signifient matrice verticale.

De la même façon,
={45\435\47}
validé par CTRL+MAJ+Entrée.
"\" va renvoyer une matrice horizontale, (en sélectionnant A2:C2)

={45\435\47;55\564\55}
validé par CTRL+MAJ+Entrée.
une matrice à deux lignes et trois colonnes (en sélectionnant A2:C3)

Page 10 sur 14
UTILISER LES FORMULES MATRICIELLES
Les formules matricielles peuvent être utilisées dans toutes les situations, quel que soit le domaine
: calcul numérique, manipulation de texte, calcul sur les dates…

Nous allons présenter des utilisations possibles dans chacun de ces domaines.

CALCULER LA MOYENNE DES TROIS PLUS GRANDES VALEURS


Pour calculer la moyenne des trois plus grandes valeurs d’une plage de cellules (par exemple
A1:A10), utilisez la formule matricielle suivante :

{=MOYENNE(GRANDE.VALEUR(A1:A10;{1;2;3}))}

Cette formule fonctionne en fait « en deux temps ». Tout d’abord, elle procède à la création d’un
tableau de 1 colonne et de 3 lignes :

 1ère ligne : GRANDE.VALEUR(A1:A10;1) ;


 2ème ligne : GRANDE.VALEUR(A1:A10;2) ;
 3ème ligne : GRANDE.VALEUR(A1:A10;3).

Ensuite, la fonction MOYENNE calcule la moyenne de ce tableau intermédiaire, renvoyant ainsi le


résultat désiré.

Page 11 sur 14
COMPTER DES CELLULES CONTENANT DU TEXTE

Pour compter le nombre de cellules contenant du texte dans une plage de cellules (ici B1:B10),
utilisez la formule suivante :

{=SOMME(ESTTEXTE(B1:B10)*1)}

Un tableau intermédiaire de 10 lignes et 1 colonne est créé. Il contient 1 si la cellule


correspondante dans B1:B10 contient du texte, et 0 sinon.

Ainsi, la fonction SOMME totalise bien le nombre de cellules contenant du texte.


La fonction ESTTEXTE renvoie un résultat booléen, soit VRAI ou FAUX. Les propriétés suivantes
sont alors utilisées :

 VRAI * 1 = 1 ;
 FAUX * 1 = 0.

COMPTER LES DOUBLONS DANS UNE LISTE


Pour compter le nombre de données d’une plage (B1:B10) également présentes dans une autre
plage (A1:A10), voici la formule à utiliser :

{=SOMME(NB.SI(A1:A10;B1:B10))}

Page 12 sur 14
FAIRE DES CALCULS CONDITIONNELS
Il est possible, grâce aux formules matricielles, de faire des calculs conditionnels. Supposons que
vous disposiez d’un tableau de données issues d’un système de gestion commerciale, qui se
compose de quatre colonnes :
 ville (plage A2:A81),
 mois (plage B2:B81),
 produit (plage C2:C81) et
 ventes (plage D2:D81).

Pour connaître le montant des ventes à Lyon en février, recourez à la formule matricielle suivante :

{=SOMME((A2:A81="Lyon")*(B2:B81="Février")*D2:D81)}

Vous utilisez à nouveau les propriétés des valeurs booléennes (VRAI et FAUX) lorsqu’elles sont
multipliées par des valeurs numériques.
En multipliant les valeurs, vous obtenez une combinaison logique ET.

Pour obtenir une combinaison logique OU, il faut utiliser des additions.

Ainsi, pour connaître les ventes de Lyon ou de Bordeaux, voici la formule à utiliser :

{=SOMME(((A2:A81="Lyon")+(A2:A81="Bordeaux"))*D2:D81)}

Page 13 sur 14
TRANSPOSER UNE MATRICE
Transposer une matrice consiste à obtenir une matrice dont les lignes sont composées des
éléments des colonnes de la matrice initiale.
Il y a une symétrie par rapport à la diagonale de la matrice initiale.

Pour obtenir la transposée de la matrice A1:D5, qui compte 5 lignes et 4 colonnes, sélectionnez
une plage de 4 lignes et 5 colonnes (par exemple A9:E12) et saisissez :

{=TRANSPOSE(A1:D5)}

Page 14 sur 14

Vous aimerez peut-être aussi