Somme Si Ens plage plusieurs lignes et colones

Bonjour à toutes et tous,

Je cherche à faire via la fonction somme si ens (et via cette fonction uniquement j''arrive à le faire avec sommeprod ou somme matricielle mais je veux utiliser somme si ens) a effectuer un calcul sur une plage de plusieurs lignes et colonnes (B3:G4 dans mon fichier exemple).

Or autant ma formule fonctionne sur la plage B3:G3 autant cela me renvois une erreur argument sur plage B3:G4

Syntaxe B3:G3 qui fonctionne :

=SOMME.SI.ENS($B$3:$G$3;$B$2:$G$2;">="&$I$2;$B$2:$G$2;"<="&$J$2)

Syntaxe B3:G4 qui ne fonctionne pas :

=SOMME.SI.ENS($B$3:$G$4;$B$2:$G$2;">="&$I$2;$B$2:$G$2;"<="&$J$2)

Merci par avance à ceux qui pourraient me proposer une aide.

Cordialement

Hugues

117somme-si-ens.xlsx (27.05 Ko)

IL faut faire 2 SOMME.SI.ENS

Bonjour Steelson,

Merci de ton regard

Donc si je comprend bien tu me proposes de faire ceci :

[code]

SOMME.SI.ENS($B$3:$G$3;$B$2:$G$2;">="&$I$2;$B$2:$G$2;"<="&$J$2)+SOMME.SI.ENS($B$4:$G$4;$B$2:$G$2;">="&$I$2;$B$2:$G$2;"<="&$J$2)

[code]

Bien sur oui cela fonctionne mais est ce à dire que je devrais le faire autant de fois qu'il y aurait de lignes dans ma plage de référence (B3:G3+B4:G4+B5:G5 etc.....). Car dans ce cas je continuerais d'utiliser somme prod car sur mon jeu de données réel la plage est sur beaucoup de lignes. Je souhaite utiliser somme si ens qui selon certains utilisateurs fonctionne plus rapidement que somme prod ou les formules matricielles. Mais à priori selon tes informations somme si ens ne peut être utiliser sur une plage de plusieurs lignes.

Ai je bien compris ?

Cordialement

Hugues

HUGOBASS a écrit :

Je souhaite utiliser somme si ens qui selon certains utilisateurs fonctionne plus rapidement que somme prod ou les formules matricielles. Mais à priori selon tes informations somme si ens ne peut être utiliser sur une plage de plusieurs lignes.

Hugues

Plus rapidement, ce n'est pas certain et puis si sommeprod fait le boulot

Fais un test sur 20.000 lignes avec les 2 ou 3 formules, tu verras que ce n'est pas du simple au double

Sauf erreur, somme.si.ens ne fonctionne pas comme ça (plage de plusieurs lignes)

Pour aller vraiment + vite, il faudra passer par VBA

P.

Re bonjour à tous, Bonjour Patrick,

Je crois effectivement que somme si ens n'est pas prévu pour être utilisé avec des plages de plusieurs lignes et colonnes.

Je vais donc continuer a utiliser somme prod.

Quand à VBA même si je l'utilise de temps en temps, je ne maitrise pas assez pour l'utiliser de manière autonome (je fais d'ailleurs souvent appel à ce forum dans ce cas là) et systématique pour optimiser mes créations

Tu me dis que pour gagner en temps de calcul il faudrait passer via VBA, pourrais tu me faire une proposition de code sur la base du fichier ci joint en imaginant une plage à sommer qui serait B9:B100000 par exemple (on se rapprocherait de mon jeu de données réel).

Merci

Cordialement

Hugues


re bonjour,

Ci après classeur exemple 2 et la formule somme prod que j'utilise

=SOMMEPROD(($B$8:$G$8>=$I$8)*($B$8:$G$8<=$J$8)*($B$9:$G$10))

Merci

Cordialement

Hugues

191somme-si-ens-v02.xlsx (34.22 Ko)

re,

je n'ai pas dis que JE saurais le faire, mais des spécialistes VBA ici pourront te faire un exemple

ps: si tu mettais tes dates en vertical , il suffirait alors d'un TCD

date / données01 / données02 / données03

ça permet un lecture plus facile il me semble

P.

HUGOBASS a écrit :

Bonjour Steelson,

Merci de ton regard

Donc si je comprend bien tu me proposes de faire ceci :

SOMME.SI.ENS($B$3:$G$3;$B$2:$G$2;">="&$I$2;$B$2:$G$2;"<="&$J$2)+SOMME.SI.ENS($B$4:$G$4;$B$2:$G$2;">="&$I$2;$B$2:$G$2;"<="&$J$2)

Bien sur oui cela fonctionne mais est ce à dire que je devrais le faire autant de fois ...

Ai je bien compris ?

Hé oui, c'est pour cela qu je préfère ausi SOMMEPROD ...

A toutes et tous, Steelson, Patrick

Je vais marquer ce post comme résolu

Cet échange (merci beaucoup Steelson et Patrick pour vos commentaires et information) m' a permis de confirmer que Somme Si Ens ne gère pas des plages de plusieurs lignes et colonnes à la différence de Somme Prod.

Je vais donc continuer à faire appel à Somme Prod lorsque je dois gérer des plages sur plusieurs lignes et colonnes même si sur certains jeux de données réels (de nombreuses lignes et colonnes) les temps de calcul sont un peu longs.

Car parfois en l'état de mes connaissances même en utilisant index et equiv dans des données mises en tableau, je ne vois pas comment utiliser autre chose que somme prod ou des formules matricielles pour des calculs conditionnés à des critères multiples.

J'ai le résultat escompté alors je vais concéder un peu de temps de calcul

Ceci dit je reste à l'écoute de vos solutions éventuelles notamment par macro comme évoqué par Patrick

Merci à toutes et tous

Cordialement

Hugues

Rechercher des sujets similaires à "somme ens plage lignes colones"