Somme avec conditions

Résolu/Fermé
freeycap Messages postés 87 Date d'inscription lundi 27 octobre 2014 Statut Membre Dernière intervention 3 septembre 2018 - 28 mars 2016 à 14:41
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 28 mars 2016 à 17:20
Bonjour,

J'ai une colonne avec 11 critères différents sur la colonne B. Je veux faire une somme des cellules non vides sur le champ E28:CZ251 pour 8 critères choisis. J'ai fait la formule ci-dessous, et elle est fausse, ca ne marche pas. Ou est l'erreur ?

SOMME.SI.ENS(E28:CZ251;B28:B251;"Critere01";B28:B251;"Critere02";B28:B251;"Critere03;B28:B251;"Critere04";B28:B251;"Critere05";B28:B251;"Critere06";B28:B251;"Critere07";B28:B251;"Critere08")

Merci d'avance

4 réponses

Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 591
28 mars 2016 à 14:44
ton champ de somme doit être un vecteur, et pas une matrice me semble-t-il...
0
freeycap Messages postés 87 Date d'inscription lundi 27 octobre 2014 Statut Membre Dernière intervention 3 septembre 2018
28 mars 2016 à 14:52
Bonjour,
J'comprends pas ??
0
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 591
Modifié par Bruce Willix le 28/03/2016 à 14:59
SOMME.SI.ENS(E28:CZ251;B28:B251;"Critere01";...


Tu ne peux pas utiliser de tableau ici. Tu dois faire la somme sur une colonne... E28:E251

Une solution, c'est de faire

SOMME.SI.ENS(E28:E251;$B28:$B251;"Critere01";$B28:$B251;"Critere02"...


Puis de tirer cette formule et ensuite d'additionner ligne par ligne.
0
freeycap Messages postés 87 Date d'inscription lundi 27 octobre 2014 Statut Membre Dernière intervention 3 septembre 2018 > Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018
28 mars 2016 à 15:02
oula... ca rallonge les choses....
0
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 591
28 mars 2016 à 15:04
bah, non, tu modifies une seule fois la formule, tu la tires, etpicétou ^^

Tu peux cacher les colonnes ensuite.
0
freeycap Messages postés 87 Date d'inscription lundi 27 octobre 2014 Statut Membre Dernière intervention 3 septembre 2018
28 mars 2016 à 16:44
ok, là je ne comprends plus... là je fais ma 1ere colonne... la somme me donne 0 plutot que 54... ce qui devrait...

=SOMME.SI.ENS(E28:E251;$B28:$B251;"Critere01";$B28:$B251;"Critere02";$B28:$B251;"Critere03";$B28:$B251;"Critere04";$B28:$B251;"Critere05";$B28:$B251;"Critere06";$B28:$B251;"Critere07";$B28:$B251;"Critere08")
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
28 mars 2016 à 14:45
Bonjour,

il te manque des guillemets dans cette partie "Critere03;
=SOMME.SI.ENS(E28:CZ251;B28:B251;"Critere01";B28:B251;"Critere02";B28:B251;"Critere03";B28:B251;"Critere04";B28:B251;"Critere05";B28:B251;"Critere06";B28:B251;"Critere07";B28:B251;"Critere08")
0
freeycap Messages postés 87 Date d'inscription lundi 27 octobre 2014 Statut Membre Dernière intervention 3 septembre 2018
28 mars 2016 à 14:54
ha oui... sorry, c'est une erreur de frappe... ils sont dans la formule originale...
La formule est bien celle-là :
=SOMME.SI.ENS(E28:CZ251;B28:B251;"Critere01";B28:B251;"Critere02";B28:B251;"Critere03";B28:B251;"Critere04";B28:B251;"Critere05";B28:B251;"Critere06";B28:B251;"Critere07";B28:B251;"Critere08")
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
Modifié par Mike-31 le 28/03/2016 à 17:16
Re,

essaye comme cela en adaptant tes plages
=SOMMEPROD(((B28:B251="Critere01")+(B28:B251="Critere02")+(B28:B251="Critere03")+(B28:B251="Critere04")+(B28:B251="Critere05")+(B28:B251="Critere06")+(B28:B251="Critere07")+(B28:B251="Critere08"))*(E28:CZ251)) 


tu peux raccourcir ta formule en nommant la plage B28:B251 exemple Tablo et ta formule devient

=SOMMEPROD(((Tablo="Critere01")+(Tablo="Critere02")+(Tablo="Critere03")+(Tablo="Critere04")+(Tablo="Critere05")+(Tablo="Critere06")+(Tablo="Critere07")+(Tablo="Critere08"))*(E28:CZ251)) 

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
freeycap Messages postés 87 Date d'inscription lundi 27 octobre 2014 Statut Membre Dernière intervention 3 septembre 2018
28 mars 2016 à 16:55
Et voilà... c'est parfait... ,ça marche à merveille... MErci bcp Mike...
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
Modifié par Mike-31 le 28/03/2016 à 17:24
Re,

tu peux également utiliser cette formule matricielle qu'il faudra confirmer avec les trois touches Ctrl, Shift et Entrée, si tu fais bien la formule se placera entre ces accolades {}
avec le principe de la plage B28:B251 nommée Tablo
=SOMME(SI((Tablo="Critere01")+(Tablo="Critere02")+(Tablo="Critere03")+(Tablo="Critere04")+(Tablo="Critere05")+(Tablo="Critere06")+(Tablo="Critere07")+(Tablo="Critere08");E28:CZ251))

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0