Somme infinie de produit avec 3 conditions

Soso -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je cherche à faire la somme conditionnelle suivante sur Excel :

Somme de les cases de la colonne C (nombre « infini » de lignes) multipliées par celles de la colonne D (en gardant les correspondance hein, C1*D1 + C2*D2 + C3*D3 etc.), avec les conditions suivantes :
- Il faut que le nombre inscrit en D soit égal à 12, sinon on ne somme pas cette ligne
- Il faut que le mois de la date en B soit égal au mois de la date écrit en G
- Il faut que la date en J ne soit pas passée par rapport à la date en D

En gros, il faudrait un truc qui balaye chaque ligne en vérifiant 3 conditions, si ces 3 sont réunies, alors il multiplie deux cases (colonne C et D), sinon il ne fait rien. Et il fait ça pour une infinité de lignes en sommant les résultats.

Quelqu'un a une idée de comment faire ça svp ?

Par avance, merci :)

PS : je suis sous excel 2010, version anglaise mais si vous avez les formule en français c'est pas un soucis.

3 réponses

  1. dna.factory Messages postés 19983 Date d'inscription   Statut Modérateur Dernière intervention   1 621
     
    ma première idée serait d'utiliser une colone cachée dans lequelle tu testes tes trois conditions et que tu affiches le résultat de D1*D2 ou 0
    et après tu n'as plus qu'a faire un sigma sur cette colonne et afficher le résultat ou tu veux
    0
  2. pépé35530 Messages postés 2951 Date d'inscription   Statut Membre Dernière intervention   1 390
     
    Bonjour,

    Voici une formule (en colonne F)

    =SI(D2<>12;0;SI(MOIS(B2)<>MOIS(G2);0;SI(J2>B2;0;C2*D2)))

    ou bien celle-ci

    =SI(OU(D2<>12;MOIS(B2)<>MOIS(G2);J2>B2);0;C2*D2)

    remarque : la troisième condition n'est pas bien posé dans ta demande.

    Ensuite il suffit d'entrer quelque part une formule : =SOMME(F2:F...)
    la colonne F pourra le cas échéant être masquée.
    A+

    pépé
    0
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    Ce que tu demandes correspond à la fonction SOMMEPROD avec ceci :

    =SOMMEPROD(($D$1:$D$65000=12)*(MOIS($B$1:$B$65000)=MOIS($G$1:$G$65000))*($J$1:$J$65000<=$G$1:$G$65000)*$C$1:$C$65000*$D$1:$D$65000)


    - Il faut que le nombre inscrit en D soit égal à 12 :

    ($D$1:$D$65000=12)

    - Il faut que le mois de la date en B soit égal au mois de la date écrit en G :
    (MOIS($B$1:$B$65000)=MOIS($G$1:$G$65000))

    - Il faut que la date en J ne soit pas passée par rapport à la date en D :
    il y a sans doute une erreur avec D car ce n'est pas une date , j'ai mis G
    ($J$1:$J$65000<=$G$1:$G$65000)


    alors il multiplie deux cases (colonne C et D)

    *$C$1:$C$65000*$D$1:$D$65000
    0