SOMMEPROD avec un filtre variable

pacoako

XLDnaute Occasionnel
Bonjour à tous,

Après plusieurs recherches infructueuses sur google ainsi que sur votre forum, je n'ai d'autre choix que de vous soumettre directement ma question ! ;)

Alors voici mon problème :

J'essaie de faire un sommeprod sur un tableau dont la 1ère colonne correspond à des identifiant de dossier (PLAGE_ID) et la seconde colonne (PLAGE_NOMBRE) correspond au nombre de dossiers que j'ai à additionner.

En temps normal si je veux par exemple additionner le nombre de dossiers qui ont l'identifiant 30, je pourrais écrire ma formule comme suit :
=SOMMEPROD((PLAGE_ID=30)*(PLAGE_NOMBRE))

Dans le cas ou je voudrais additionner le nombre de dossiers qui correspond à plus d'un identifiant, par exemple 30 ou 31, je pourrais écrire ma formule comme suit :
=SOMMEPROD(((PLAGE_ID=30)+(PLAGE_ID=31))*(PLAGE_NOMBRE))

Ce qui me titille avec cette méthode c'est qu'il m'est impossible, de façon automatique d'ajuster ma formule si jamais je voudrais ajouter un autre identifiant à ma condition "OU" qui est représenté par le "+" dans la formule si haut.

Après investigation, j'ai trouvé une méthode qui simplifie pas mal la formule lorsque l'on a plusieurs identifiant a filtrer dans une condition de type "ou", la formule ressemblerait à ceci si je voudrais filtrer tous les identifiant qui sont 30, 31, 32, 33 ou 39 :

=SOMMEPROD((PLAGE_ID={30.31.32.33.39})*(PLAGE_NOMBRE))

Ma question est la suivante : N'est-il pas tout simplement possible d'inscrire le nom d'un tableau ou d'une plage au lieu du {30.31.32.33.39} ? J'ai beau essayer mais la fonction sommeprod me renvoit toujours une erreur lorsque je tente d'incrire un tableau après le "=" :

=SOMMEPROD((PLAGE_ID=TABLEAU)*(PLAGE_NOMBRE))

Merci d'avance pour vos commentaires! Bonne journée!
 

Pièces jointes

  • Classeur2.zip
    122.9 KB · Affichages: 64
  • Classeur2.zip
    122.9 KB · Affichages: 63
  • Classeur2.zip
    122.9 KB · Affichages: 68
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : SOMMEPROD avec un filtre variable

Bonsoir,

Un petit bout de fichier exemple aurait été le bienvenu.

Essaye ceci :

Code:
=SOMMEPROD((NB.SI(tableau;plage_id)*1))

Sous réserve d'avoir bien cerné ton souhait

@+
 

Dugenou

XLDnaute Barbatruc
Re : SOMMEPROD avec un filtre variable

Bonjour pacoako, Tibo,

en effet la pj est d'un secours certain !
si tu n'as qu'un seul critère, on peut utiliser somme.si

={SOMME(SOMME.SI(PLAGE_ID;SI(PLAGE_ID=TABLEAU;TABLEAU;0);PLAGE_NOMBRE))}

formule matricielle à valider avec Ctrl+maj+Entrée

Cordialement
 

pacoako

XLDnaute Occasionnel
Re : SOMMEPROD avec un filtre variable

Salut à vous deux! Ça fonctionne bien avec un critère effectivement! Merci pour l'astuce... malheureusement mon cas réel utilise plusieurs critères... je t'entais de simplifier autant que possible mon problemo...

Merci pour votre aide! Et si jamais vous avez une idée pour le multi-critère, ne vous gènez surtout pas!

A+
 

Discussions similaires

Réponses
40
Affichages
929

Statistiques des forums

Discussions
312 342
Messages
2 087 436
Membres
103 545
dernier inscrit
agent3