Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

A propos des formules matricielles

D

Dorian

Guest
Bonjour,

J'ai découvert les formules matricielles, mais je ne les maîtrise
pas encore. Voici un petit exo que je me suis fait :

Colonne A
Europe
Océanie
Amérique
Asie
Europe
Afrique
Europe
Amérique

Je voudrais savoir combien de fois est contenu "Europe". voici la
formule que j'ai essayé, mais qui ne marche pas :

{=NBVAL(SI(A1:A8="Europe";A1:A8))} (j'ai validé en tapant CTRL+Maj+Entrée)

--> me renvoie 8, alors que j'attendais 3.

J'ai essayé aussi :

{=SI(A1:A8="Europe";NBVAL(A1:A8))}

--> me renvoie 8 aussi.

(pour plus de détail voir fichier Excel)

Si quelqu'un pouvait éclaircir ma bougie ? Merci.
 

Pièces jointes

  • FormuMatricielles.zip
    4.6 KB · Affichages: 12
  • FormuMatricielles.zip
    4.6 KB · Affichages: 11
  • FormuMatricielles.zip
    4.6 KB · Affichages: 12
M

Michel_M

Guest
Bonjour,

ci dessous une réponse qui est "la petite soeur" de la formule classique "somme.si"

=SOMME(SI(A1:A8="europe";1))

Dans un fil précédent, Jean Marie, je crois a bien expliqué les matricielles: dans la zone indiquée, ici ,excel parcourt chaque ligne et execute les instructions données

Tu as notre ami @Thierry national, qui a diffusé une démo sur ce forum: tu la trouveras ci joint

Bonne découverte

Michel
 

Pièces jointes

  • FormuleMatricielle.zip
    6.6 KB · Affichages: 14
  • FormuleMatricielle.zip
    6.6 KB · Affichages: 14
  • FormuleMatricielle.zip
    6.6 KB · Affichages: 13
J

Jean-Marie

Guest
Bonsoir dorian, Michel

Voici un lien sur un fil qui contient un fichier avec des explications sur une formule matricielle. Change le nombre de la cellule C5 et tu verras les matrices évoluées dynamiquement.

Lien supprimé

@+Jean-Marie
 
D

Dorian

Guest
Ça y est ! J'ai trouvé la solution à mon problème (voir pièce jointe).
De plus, j'ai découvert que les formules matricielles ne s'appliquaient
pas qu'à la fonction SOMME : ouf ! Ç'eut été dommage :-(((. En effet,
je l'ai appliqué avec les fonctions NB, MOYENNE, MAX, MIN (voir pièce
jointe).

Je remercie Jean-Marie et Thierry qui grâce à leurs exemples vont me
permettre de mieux comprendre les formules matricielles qui simplifient
la vie. Mais l'exemple de Jean-Marie a l'air costaud :

{=SOMME(0+STXT(A28;LIGNE(DECALER($A$1;;;NBCAR(A28)));1))}

(pas eu le temps encore de décortiquer la formule)

At the next !
 

Pièces jointes

  • FormuMatricielles.zip
    4.9 KB · Affichages: 12
  • FormuMatricielles.zip
    4.9 KB · Affichages: 14
  • FormuMatricielles.zip
    4.9 KB · Affichages: 13
D

Dorian

Guest
Désolé Michel_M ; j'avais pas vu que tu m'avais donné la réponse à mon problème (sic).

Sinon, pour savoir comment résonne Excel, je me demande si celui-ci ne construit pas des matrices et les multiplie entre elles. En reprenant mon exemple, ça donnerait :

[1 0 0 0 1 0 1 0] * [16 15 43 52 12 47 12 58] = 16 + 0 + 0 + 0 + 12 + 0 + 12 + 0 = 40

pour la formule : {=SOMME(SI(A1:A8="europe";B1:B8))} (pièce jointe de l'autre message)

et

[1 0 0 0 1 0 1 0] * [1 1 1 1 1 1 1 1] = 1 + 0 + 0 + 0 + 1 + 0 + 1 + 0 = 3

pour la formule : {=SOMME(SI(A1:A8="europe";1))} (donnée par Michel_M)

§ La 1ère matrice contiendrait le résultat des comparaisons logiques (vrai/faux, 1/0) : [1 0 0 0 1 0 1 0], A1 = Europe, alors Excel met 1, A2 différent de "Europe", alors Excel met 0, etc.

§ La 2ème matrice est constituée de la plage indiquée. Dans le second exemple, une constante est indiquée, alors Excel construit dynamiquement la matrice [1 1 1 1 1 1 1 1].

§ Enfin, Excel effectue un produit matriciel.

...si ça peut aider certains...
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…