• Initiateur de la discussion Initiateur de la discussion Tristan
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

Tristan

Guest
Bonjour à tous, mon problème concerne une formule matricielle que je ne parviens pas à faire marcher comme je le souhaiterais. Je pensais enfin les maîtriser mais Excel finit toujours par gagner (en tout cas contre moi) !

Voilà :
J’ai quatre stratégies A, B, C et D qui correspondent à l’achat et la vente d’un certain nombre de produits X et Y. Tout ceci est consigné dans le tableau « Strategies » :

AchatX VenteX AchatY VenteY

A | 1 | 0 | 1 | 0
B | 0 | 1 | 0 | 1
C | 1 | 0 | 0 | 1
D | 0 | 1 | 1 | 0

J’ai une série de stratégies et je souhaite savoir à combien d’achat et de vente de produits X et Y cette série correspond.
Série1 : A, B, A, C, D, C, A, D, B, A, B, C, C (disposées en A1:A13)

Ainsi je veux obtenir pour la série1 :

AchatX VenteX AchatY VenteY
8 | 5 | 6 | 7

Ma formule pour obtenir le 8 était la suivante :
Somme(recherchev(A1:A13 ;strategies ;2)) + CTRL/SHIFT/ENTER

Je n’obtiens que 1 c’est-à-dire le résultat que j’obtiendrais avec la même formule sans le « somme » (ce qui correspond au premier terme du vecteur que j’ai créé).
Ce qui est étrange, c’est que si j’écris cette même formule dans une sélection de plusieurs cases (et non pas une seule) j’obtiens autant de 8 (alors qu’un seul me suffirait).
J’y perds mon latin !

J’espère avoir été clair et que quelqu’un pourra m’aider.
Merci beaucoup !
 

Pièces jointes

Re : Formule matricielle

En fait non, je cherche à éviter de calculer B$2:B$14, sinon je n'ai qu'à faire la somme de ce vecteur.
Je ne dispose que du tableau "Stratégies", de ma série de stratégies et je cherche une formule qui tient dans une case pour calculer la somme suivant la colonne 2 de toutes ces stratégies !
Merci de t'être atteler à la tâche et je suis ouvert à toute autre solution !
a+
 
Dernière modification par un modérateur:
Re : Formule matricielle

Re...

La fonction RECHERCHEV n'a pas office de retourne une matrice, elle ne retourne qu'une seule valeur. C'est la matrice B$2:B$14 qui fait retourner le résultat de la recherche en fonction de la position de l'index dans la matrice, lors du calcul (je ne sais pas si je suis très clair).

@+Jean-Marie
 
Re : Formule matricielle

Je ne suis pas sûr de comprendre ...

Si j'entre un nombre, la fonction "recherchev" me renvoit un nombre, mais si j'entre une matrice, elle me renvoit une matrice (la fonction s'applique à chaque élément de la matrice) ! Non ?

Dans mon exemple, lorsque je sélectionne I13:I25 et que j'y écris "=RECHERCHEV(A2:A14;Strategies;2)" +CTRL/SHIFT/ENTER, je reçois un vecteur. Et c'est ce vecteur que je cherche à sommer avec la fonction "somme" dans la formule "=SOMME(RECHERCHEV(A2:A14;Strategies;2))" +CTRL/SHIFT/ENTER.

Dans mon exemple, ta formule ne marche plus si on remplace la cellule B24 par 0 ou 5 par exemple. Je cherche respectivement 4 et 24 alors que j'obtiens 0 et 120 !

Quelle est la formule magique ?

Merci encore Jean-Marie de t'intéresser à mon problème.
a+
 
Re : Formule matricielle

Re..

Dans la plage I13:I25, c'est Excel qui affiche le résultat en fonction de la position dans la matrice, mais la fonction ne retourne qu'une seule valeur.
Remplace la formule de la plage par =SOMME(RECHERCHEV(A2:A14;Strategies;2)), tu trouveras sur chaque ligne le même résultat mais sommé.

Pour résoudre ton problème, essaye cette formule
=SOMMEPROD(NB.SI($A$2:$A$14;$A$24:$A$27)*B24:B27)

@+Jean-Marie
 
Re : Formule matricielle

Merci Jean-Marie, je crois que tu as définitivement résolu le problème !
Je ne comprends cependant toujours pas pourquoi ma solution ne marchait pas.

Ta formule a l'air de marcher aussi avec la fonction "somme" au lieu de "sommeprod". Ce que je ne comprends pas c'est que la fonction nb.si ne renvoie aussi qu'une valeur. Tu l'appliques à un vecteur et ça te renvoie un vecteur dont tu additionnes tous les termes. Je ne vois pas la différence avec l'esprit de ma formule.

En tout cas je te remercie pour ta persévérance et ta jolie formule même si le mystère reste entier pour moi !

Merci a+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
553
Réponses
9
Affichages
746
Réponses
1
Affichages
630
Réponses
8
Affichages
961
Réponses
55
Affichages
4 K
Réponses
22
Affichages
3 K
Retour