Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ignorer condition - Formule sommeprod

gourdin

XLDnaute Impliqué
Bonjour,

J'utilise la formule sommeprod() pour effectuer une somme selon 3 conditions.
Quand il manque au moins une des 3 conditions la formule renvoie "0" (zéro)

Je recherche une formule qui ne prennent pas en compte la ou les conditions manquantes et ne renvoie donc pas "0"

Voir exemple en pièce jointe.

Merci
 

Pièces jointes

  • Classeur1 (2).xlsx
    10.5 KB · Affichages: 44

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer avec des si()
Code:
=SI(NBVAL($G$2:$I$2)=3;SOMMEPROD((A4:A100=G2)*(B4:B100=H2)*(C4:C100=I2)*D4:D100);SI(ET(NBVAL($G$2:$I$2)=2;$G$2="");SOMMEPROD((B4:B100=H2)*(C4:C100=I2)*D4:D100);SI(ET(NBVAL($G$2:$I$2)=1;$I$2<>"");SOMME.SI(C4:C100;I2;D4:D100);"")))

JHA
 

Iznogood1

XLDnaute Impliqué
Bonjour,


Il faut tester les différentes combinaisons.
En logique booléenne, le OU est égal à + et le ET est égal à x
D'où la formule
Code:
=SOMMEPROD((A4:A100=G2)*(B4:B100=H2)*(C4:C100=I2)*D4:D100)+
SOMMEPROD((B4:B100=H2)*(C4:C100=I2)*D4:D100)*ESTVIDE(G2)+
SOMMEPROD((A4:A100=G2)*(C4:C100=I2)*D4:D100)*ESTVIDE(H2)+
SOMMEPROD((A4:A100=G2)*(B4:B100=H2)*D4:D100)*ESTVIDE(I2)+
SOMMEPROD((A4:A100=G2)*D4:D100)*ESTVIDE(H2)*ESTVIDE(I2)+
SOMMEPROD((B4:B100=H2)*D4:D100)*ESTVIDE(G2)*ESTVIDE(I2)+
SOMMEPROD((C4:C100=I2)*D4:D100)*ESTVIDE(G2)*ESTVIDE(H2)
 
Dernière édition:

vgendron

XLDnaute Barbatruc
sinon. en regardant le fichier.. ;-)
formule matricielle.. à valider par Ctrl+Maj + Entrée (malgré le sommeprod...)
=SOMMEPROD((SI(G2<>"";A4:A100=G2;1))*(SI(H2<>"";B4:B100=H2;1))*(SI(I2<>"";C4:C100=I2;1))*D4100)
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Effectivement, j'ai oublié une condition, désolé!
Code:
=SI(NBVAL($G$2:$I$2)=3;SOMMEPROD((A4:A100=G2)*(B4:B100=H2)*(C4:C100=I2)*D4:D100);SI(ET(NBVAL($G$2:$I$2)=2;$G$2="");SOMMEPROD((B4:B100=H2)*(C4:C100=I2)*D4:D100);SI(ET(NBVAL($G$2:$I$2)=2;$H$2="");SOMMEPROD((A4:A100=G2)*(C4:C100=I2)*D4:D100);SI(ET(NBVAL($G$2:$I$2)=1;$I$2<>"");SOMME.SI(C4:C100;I2;D4:D100);""))))

JHA
 

R@chid

XLDnaute Barbatruc
Re,
Salut JHA,
Pour le cas ou juste 2 cellules qui sont renseignées on a 3 cas de figure et aussi quand juste une seule qui est renseignée on a 3 cas de figure, tu en prends que deux pour chaque cas.
 

Discussions similaires

Réponses
6
Affichages
270
Réponses
10
Affichages
611
Réponses
2
Affichages
227
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…