XL 2010 Sommeprod

lasenette78

XLDnaute Nouveau
Bonjour tout le monde

Dans mon fichier en PJ j'ai une somme prod sur l'onglet DA . Je voudrais rajouter une condition à ma somme prod . La condition est la suivante
A chaque qu'elle trouve le meme numero de Bon de commande plusieurs fois dans l'onglet feuill alors ne calculer la sommpro une seule fois sur ce bon de commande et sur les autres mettre 0, l'objectif etant de ne pas dupliquer les montants car ce serait une erreur .
Je vous remercie par avance
Cdlt
 

Pièces jointes

  • Classeur1.xlsx
    123.4 KB · Affichages: 11

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer

VB:
=SOMMEPROD(((Tableau13[Type Document]="Facture")+(Tableau13[Type Document]="Avoir"))*(Tableau13[Centre Resp]=DA!$D$2)*(Tableau13[N° Bon de commande v1]=DA!$R2)*(Tableau13[TTC]))/SOMMEPROD(((Tableau13[Type Document]="Facture")+(Tableau13[Type Document]="Avoir"))*(Tableau13[Centre Resp]=DA!$D$2))

JHA
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Tu as raison, il y a plusieurs lignes par N° de commande mais pas les mêmes valeurs, on ne peut donc pas diviser par le nombre de N° identique.
Autre suggestion,
J'ai ajouté 2 colonnes au "Tableau13",
une pour concatener le montant TTC et le N° de commande
une pour compter le nombre de valeur identique sur la concaténation.

A essayer
 

Pièces jointes

  • Classeur1 (25).xlsx
    123.3 KB · Affichages: 3

lasenette78

XLDnaute Nouveau
Bonjour , merci pour votre proposition , mais ce n'est pas le resultat , auquel je m'attends , en fait sur le SIE20BC00659, je dois avoir 268 620 sur un seul BC et les autres BC je dois avoir 0 , ou une repartion equitable entre BC portant le meme numero .
Merci
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Avec tes dernières explications, peut-être comme ceci en "U2"
VB:
=SI(NB.SI($R$2:R2;R2)=1;SOMMEPROD(((Tableau13[Type Document]="Facture")+(Tableau13[Type Document]="Avoir"))*(Tableau13[Centre Resp]=DA!$D2)*(Tableau13[N° Bon de commande v1]=DA!$R2)*(Tableau13[TTC]));0)
copier vers le bas

JHA
 

Pièces jointes

  • Classeur1 (25).xlsx
    122.4 KB · Affichages: 4

JHA

XLDnaute Barbatruc
Bonjour à tous,

NB.SI($R$2:$R2;$R2)=1

Le plus important dans cette fonction est le signe "$"
Dans la plage "$R$2:$R2" le premier "$R$2" est figé et le second "$R2"va s'incrémenter lors de la recopie vers le bas. cela permet d'avoir 1 puis 2 puis 3 alors qu'avec "$R$2:$R$3" il te donnerait 3 sans passer par 1 puis 2.
Donc quand la formule retourne 1 on fait la somme sinon on met 0.

JHA
 

Discussions similaires

Réponses
11
Affichages
547
Réponses
9
Affichages
517

Statistiques des forums

Discussions
312 145
Messages
2 085 762
Membres
102 966
dernier inscrit
InitialPP