Fonction SOMME.SI.ENS avec fonction MOIS() Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
D
DUAL ex
Membre habitué
Membre habitué
Messages : 85
Inscrit le : 4 août 2017
Version d'Excel : 2016

Message par DUAL ex » 9 juillet 2019, 12:24

Bonjour,

Après de nombreuses recherches infructueuses, vous êtes mon ultime recours :
Je n'arrive pas à faire fonctionner la fonction MOIS(1) (pour JANVIER, par ex.) dans ma fonction SOMME.SI.ENS

Voici la formule entrée dans une range :
=SOMME.SI.ENS($C$9:$C$23;$B$9:$B$23;[@Fournisseurs];$D$9:$D$23;MOIS(1))
C9:C23 = plage somme (factures à additionner si les conditions sont remplis)

B9:B23 = plage critère 1 (Liste des fournisseurs)
[@Fournisseurs] = Le critère 1 (le nom du fournisseur)

D9:D23 = plage critère 2 (dates des facturations)
MOIS(1) = Le critère 2 (toutes les factures du fournisseur sur un mois choisi). Ici sur le mois de JANVIER

J'ai lu pleins de
Somme.si.ens et DATE.xlsx
(14.16 Kio) Téléchargé 29 fois
solutions utilisant ">=" & au 1er janvier à "<=" au 31 janvier. Ce n'est pas possible dans mon cas.
PS : je joint le fichier où vous trouverez tous dessus.

En vous remerciant et dans l'attente de votre retour, je vous souhaite une agréable journée.
Amicalement,
Alex.
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 421
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 9 juillet 2019, 12:55

Bonjour,

Ci-joint ton fichier test ...

En espèrant que cela t'aide
Test DualEx.xlsx
(12.85 Kio) Téléchargé 59 fois
1 membre du forum aime ce message.
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
D
DUAL ex
Membre habitué
Membre habitué
Messages : 85
Inscrit le : 4 août 2017
Version d'Excel : 2016

Message par DUAL ex » 9 juillet 2019, 13:13

Message modifier :

Cf. message suivant.

Merci :mrgreen:
Modifié en dernier par DUAL ex le 9 juillet 2019, 13:39, modifié 1 fois.
D
DUAL ex
Membre habitué
Membre habitué
Messages : 85
Inscrit le : 4 août 2017
Version d'Excel : 2016

Message par DUAL ex » 9 juillet 2019, 13:33

Bonjour James007,

Merci pour ta réactivité et ta solution.
=SOMMEPROD((Tableau1[Fournisseurs]=$F15)*((MOIS(Tableau1[Dates factures])=COLONNE()-6)*(Tableau1[Factures])))
Je ne sais pas bien lire l'information :
Si je comprends bien, je ne peux pas intervenir sur le mois demandé. La formule classe automatiquement les colonnes du tableau de janvier à décembre.

Test 1 : si je supprime une colonne (annexe, qui n'appartient pas au tableau) toutes les formules de tableau se décalent. Il faudrait alors intervenir sur le nombre "6" de la formule.

Test 2 : si je supprime une colonne dans le tableau : la colonne "Février"... Mars devient Février malgré l'en-tête "MARS" de mon tableau.

Auriez-vous une solution alternative pour palier à cela ?

Au plaisir de vous lire.
Amicalement,
Alex.
Modifié en dernier par DUAL ex le 9 juillet 2019, 13:41, modifié 1 fois.
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 4'985
Appréciations reçues : 377
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 9 juillet 2019, 13:40

Bonjour à tous

A noter que MOIS(1) n'a aucun sens

MOIS extrait le mois d'une date

que tu mettes 1 ou 12 dans les parenthèses cela donne une date en janvier 1900 et donc systématiquement 1

Tu utilises des tableaux structurés, donc utilises la formulation correspondante évolutive (contrairement à tes plages en référence absolue) et sers-toi de tes titres

Une seule formule à tirer à droite et en bas et pas une par mois
=SOMME.SI.ENS(Tableau1[[Factures]:[Factures]];Tableau1[[Fournisseurs]:[Fournisseurs]];Tableau2[@[Fournisseurs]:[Fournisseurs]];Tableau1[[Dates factures]:[Dates factures]];">="&DATEVAL(1&Tableau2[[#En-têtes];[Janvier]]);Tableau1[[Dates factures]:[Dates factures]];"<="&FIN.MOIS(DATEVAL(1&Tableau2[[#En-têtes];[Janvier]]);0))
1 membre du forum aime ce message.
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
D
DUAL ex
Membre habitué
Membre habitué
Messages : 85
Inscrit le : 4 août 2017
Version d'Excel : 2016

Message par DUAL ex » 9 juillet 2019, 13:54

Bonjour 78Chris,

Juste PARFAIT.

Effectivement, j'avais beau essayer, j'étais sur le mauvais chemin.

Je prends note pour la fonction MOIS() et l'utilisation de la formulation correspondante évolutive.
Je te remercie pour ces infos.

Au plaisir de vous lire et un grand merci à vous de faire vivre ce genre de site d'entraide.

Amicalement,
Alex.
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 421
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 9 juillet 2019, 14:21

Re,

Pas très difficile ...
=SOMMEPROD((Tableau1[Fournisseurs]=$F15)*((MOIS(Tableau1[Dates factures])=COLONNE($G$14:G14))*(Tableau1[Factures])))
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
D
DUAL ex
Membre habitué
Membre habitué
Messages : 85
Inscrit le : 4 août 2017
Version d'Excel : 2016

Message par DUAL ex » 9 juillet 2019, 14:27

Merci pour ton retour James007,

Je test cela.

Bye.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message