• Initiateur de la discussion Initiateur de la discussion plumazon
  • 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 !

P

plumazon

Guest
Bonjour a tous

Pourriez vous m'aider a caluler un prix moyen??



MERCI [file name=Pxmoyen.zip size=1586]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Pxmoyen.zip[/file]
 

Pièces jointes

Bonsoir,

Je suppose que le prix est en rapport à la quantité totale en D.

Si ta moyenne est en fonction de la quantité donnée en H, mets ceci :

I2 = SOMMEPROD((B2:B6='Perc')*1;D2😀6)/H2



😉

Message édité par: Dan, à: 21/04/2006 22:35
 
Salut à vous tous,

Il me semble que la formule de Dan est incomplète (il manque l'argument C2:C6), elle renvoie 0.6.
Celle de pierrejean me semble exacte, elle renvoie 3.417529

Petite variante en formule, sans la colonne H :
=SOMMEPROD((B$2:B$6=G2)*(C$2:C$6)*(D$2😀$6))/SOMMEPROD((B$2:B$6=G2)*C$2:C$6)
formule pouvant être copiée vers le bas.

Â+
 
Resalut,

Petite explication pour Marc.

De façon basique la première partie de la formule (avant le /) peut s'écrire comme suit :

=SOMME(SI(B2='perc';C2*D2;0);SI(B3='perc';C3*D3;0);SI(B4='perc';C4*D4;0);SI(B5='perc';C5*D5;0);SI(B6='perc';C6*D6;0))
On analyse ligne par ligne.

Il y a moyen de reccourcir cette formule en l'écrivant sous forme matricielle.
=SOMME((B2:B6='perc')*(C2:C6)*(D2😀6))
à valider par Ctrl+Maj+Entrée
On analyse toute la plage en créant une boucle (comme en VBA)

Pour éviter de devoir appliquer ce type de validation, il existe la fonction SOMMEPROD
=SOMMEPROD((B$2:B$6='perc')*(C$2:C$6)*(D$2😀$6))
à valider simplement par Entrée
Pour pouvoir copier la formule vers le bas il faut appliquer aux plages des références absolues (ou semi-absolues).
De plus, il serait préférable de nommer ces plages (menu Insertion / Nom / Définir), ce qui rend la lecture plus compréhensible :
=SOMMEPROD((nom='perc')*(quantite)*(prix))

L'explication de la deuxième partie de la formule (après le /) est identique à la première.

En espérant que mon explication est claire et compréhensible.

Â+
 
Bonjour,

De façon littérale, SommeProd fait la somme des produits
=SOMME(PRODUIT(B2='perc';C2;D2);PRODUIT(B3='perc';C3;D3);PRODUIT(B4='perc';C4;D4);PRODUIT(B5='perc';C5;D5);PRODUIT(B6='perc';C6;D6))
en moins long :
=SOMME((B2='perc')*C2*D2;(B3='perc')*C3*D3;(B4='perc')*C4*D4;(B5='perc')*C5*D5;(B6='perc')*C6*D6)
en plus court :
=(B2='perc')*C2*D2+(B3='perc')*C3*D3+(B4='perc')*C4*D4+(B5='perc')*C5*D5+(B6='perc')*C6*D6

(B2='perc') a pour résultat VRAI ou FAUX où VRAI équivaut à 1 et FAUX équivaut à 0
=VRAI*C2*D2 a pour résultat C2*D2
=FAUX*C2*D2 a pour résultat 0

Pour voir le calcul effectué par la formule, tu tapes
=SOMMEPROD((B$2:B$6='perc')*C$2:C$6*D$2😀$6)

Dans la barre de formule, tu sélectionnes la dernière partie et tu appuies sur F9
tu obtiens une matrice entre crochets :
=SOMMEPROD((B$2:B$6='perc')*C$2:C$6*{3,2;4;2,99;4,01;5})
Tu sélectionnes la 2ème partie, puis F9 et tu obtiens
=SOMMEPROD((B$2:B$6='perc')*{10;20;2;5;20}*{3,2;4;2,99;4,01;5})
puis la 1ère :
=SOMMEPROD({VRAI;FAUX;VRAI;VRAI;FAUX}*{10;20;2;5;20}*{3,2;4;2,99;4,01;5})
puis la 2ème et la 3ème
=SOMMEPROD({VRAI;FAUX;VRAI;VRAI;FAUX}*{32;80;5,98;20,05;100})
Excel a fait le produit de 10 par 3,2, de 20 par 4, de 2 par 2,99 etc

puis tu sélectionnes le tout puis F9 et ça donne :
=SOMMEPROD({32;0;5,98;20,05;0})
Excel a fait une matrice du produit de VRAI par 32, de FAUX par 80 (donc 0), de VRAI par 5,98, de VRAI par 20,05, de FAUX par 100 (donc 0)
Et SommeProd fait la somme de tous ces produits
=SOMME(32;0;5,98;20,05;0)

CQFD
 
- 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
3
Affichages
336
Réponses
4
Affichages
537
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
148
Réponses
17
Affichages
425
Réponses
5
Affichages
211
  • Question Question
Microsoft 365 macro TCD
Réponses
4
Affichages
241
Retour