Formule somme.si.ens qui va le sauver la vie

Bonjour à tous , Bon alors je me présente, je suis apprenti et on m'a demandé de optimiser, simplifier ou factoriser un bloc de formule "somme.si.ens" sachant que mon retour sera super déterminant pour la suite de mon alternance. Pour l'instant je n'ai pas su la modifier donc je demande à votre aide. Merci d'avance.

Pour info, dans la formule, on dispose de plusieurs critères qui se répètent sur toutes les somme.si.ens et le dernier critère "Index$C$" est le mois (12 mois==>12 somme.si.ens).

=SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$20)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$21)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$22)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$23)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$24)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$25)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$26)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$27)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$28)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$29)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$30)+SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$P26;('Data Symbioz'!$G$2:$G$65536);AM$19;('Data Symbioz'!$V$2:$V$65536);Index!$C$31)

Bonjour,

Vous, en ayant la formule, les explications qui vont avec et le fichier sous les yeux, vous n'avez pas réussi à la modifier...

Alors nous, avec juste cette formule...

A mon avis, un bon vieux Tableau Croisé Dynamique (TCD) fera le même travail, plus vite et de manière plus lisible...

Bonjour perdo et merci pour votre retour, en fait ma question est est ce que l'on peut factoriser ou intégrer une autre formule lorsque l'on a les mèmes critères.

exemple:

somme.si.ens((x1:x20);a1;(y1:y20);n2;(z1:z20);h1)+somme.si.ens((x1:x20);a1;(y1:y20);n2;(z1:z20);h2)+somme.si.ens((x1:x20);a1;(y1:y20);n2;(z1:z20);h3)

dans cet exemple, on remarque que le seul critère qui change est le "h" qui est le mois.

Tout dépend de votre format de mois...

Si votre mois est un nombre compris entre 1 et 12, vous pouvez directement faire :

=SOMME.SI.ENS(PlageSomme;PlageMois;">=1";PlageMois;"<=12")

Pour faire la somme sur 12 mois dans cet exemple.

j'ai essayé cette formule mais ça me renvoie toujours des zéros:

=SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$O6;('Data Symbioz'!$G$2:$G$65536);AL$5;('Data Symbioz'!$U$2:$U$65536);">"&Index!$C$20&"";('Data Symbioz'!$U$2:$U$65536);"<"&Index!$C$31&"")

Bonjour,

Pour des formules à rallonge et illisibles, on peut également passer par une fonction personnalisée en VBA.

bonjour

quand cela devient indigeste ,rien de tel que SOMMEPROD

sommeprod((mois(plage dates)>1)*(mois(plagedates) <=12)*(plagecritères = ton critère)*(plagedes trucsà sommer))

les plages doivent avoir le meme nb de lignes

cordialement

j'ai essayé cette formule mais ça me renvoie toujours des zéros:

=SOMME.SI.ENS(('Data Symbioz'!$M$2:$M$65536);('Data Symbioz'!$H$2:$H$65536);$O6;('Data Symbioz'!$G$2:$G$65536);AL$5;('Data Symbioz'!$U$2:$U$65536);">"&Index!$C$20&"";('Data Symbioz'!$U$2:$U$65536);"<"&Index!$C$31&"")

saluttulipe_4, salut melch !

@Y_cine : on en vient au point de départ, sans fichier ni explications complémentaires, on aura du mal à t'aider davantage...

Merci pour vos réponses les amis.

Bonjour, voici la formule et les index que je veux récupérer dans ma formule en cumul.

merci à vous.

captureindex capturereporting

Bonjour,

Il y a un effort pour avancer avec ces impressions écran, mais ce n'est franchement pas pratique pour nous car on ne peut rien manipuler sur une image...

J'ai compressé jusqu'a 2 Mo mais ça ne passe toujours pas même en zip.

Rechercher des sujets similaires à "formule somme ens qui sauver vie"