XL 2010 Somme si ens jusqu'à une cellule vide

Chubby

XLDnaute Impliqué
Bonjour à tous,

Petit sur place malgré mes recherches ici ou là. Je voudrais pouvoir utiliser la fonction somme si ens jusqu'à une cellule vide dans la plage de critères. Tous les exemples que je vois comprennent une formule matricille qui, apparemment ne fait pas bon ménage avec la fonction somme si ens.
Je vous joins un petit exemple.

Merci à vous
 

Pièces jointes

  • Somme.si.ens..xlsx
    9.2 KB · Affichages: 26

Nairolf

XLDnaute Accro
Salut Chubby, Salut Philippe,

J'allais proposer quelque chose de similaire à ce que propose Philippe.

Mais pour être certain de la problématique j'ai une petite question, après la cellule vide, peut-il y avoir des cellules non vides ?

NB : Comme tu as un seul critère, tu pourrais utiliser la fonction SOMME.SI().
 

Iznogood1

XLDnaute Impliqué
Bonjour,

en effet, SOMME.SI.ENS ne fait pas bon ménage avec ... INDIRECT
Il faudra donc passer par la bonne vieille fonction SOMMEPROD et un formule matricielle
du genre
Code:
=SOMMEPROD((INDIRECT("C3:C"& MIN(SI(ESTVIDE(A3:A65535);LIGNE(A3:A65535)))-1)=D17)*INDIRECT("B3:B"&MIN(SI(ESTVIDE(A3:A65535);LIGNE(A3:A65535)))-1))
 

Pièces jointes

  • Copie de Somme.si.ens..xlsx
    15.5 KB · Affichages: 26

Chubby

XLDnaute Impliqué
Bonjour à vous phlaurent, Nairolf, Iznogood1 et les zotres,

Déjà un grand merci pour votre réactivité et la précision de vos réponses. Les plages nommées ont leur avantage indéniable elles permettent une formule super propre (hyper clean) mais comme je vais travailler avec des onglets il me faudrait recréer ces plages pour chaque onglet. Bonne méthode pour apprendre cette fichue formule avec Indirect, c'est vrai.
Nairolf, oui il y a des cellules non vides en dessous. La solution somme si demande aussi des plages nommées non?
Le bon vieux sommeprod va faire l'affaire je crois.
Merci encore à vous pour votre précieuse aide.
Bonne journée
 
Dernière édition:

Nairolf

XLDnaute Accro
Mais pour être certain de la problématique j'ai une petite question, après la cellule vide, peut-il y avoir des cellules non vides ?
Je te demandais ça, car s'il n'y avait pas d'autres valeurs en-dessous, un simple DECALER(NBVAL()) suffisait (proposition de Philippe).

Donc la solution d'iznogood1 est donc ce qu'il te faut, car dans ces cas-là, seul le matriciel fonctionne.
On pourrait tout aussi bien passer par DECALER() au lieu de INDIRECT() qui a l'avantage de fonctionner entre fichiers, même fermés.
Code:
=SOMMEPROD((DECALER($C$3;;;MIN(SI(ESTVIDE(A3:A65535);LIGNE(A3:A65535)))-3;)=D17)*DECALER(B3;;;MIN(SI(ESTVIDE(A3:A65535);LIGNE(A3:A65535)))-3;))
 

Statistiques des forums

Discussions
312 248
Messages
2 086 594
Membres
103 250
dernier inscrit
keks974