Résolu Résolu Calcul somme.si.ens avec critère de date pour chaque nouvelle valeur unique.

alejandro

XLDnaute Nouveau
Bonjour,

J'essaie de calculer une somme de quantités (colonne H du fichier) avec plusieurs critères, jusqu'ici tout va bien et j'utilise la fonction somme.si.ens.

Mais une contrainte s'ajoute à ce calcul simple : Dans mon fichier j'ai une colonne dont les valeurs m'importent peu (colonne E), cependant pour chaque nouvelle valeur de cette colonne, je ne dois sommer qu'une fois les quantités en colonne H. Le critère est de prendre la date la plus ancienne en colonne G.

Exemple : Si dans la colonne E, il y a trois occurrences de la valeur "Cde 1" avec pour dates (colonne G) 12/01, 19/01 et 28/01, je ne dois prendre que la quantité qui a les critères que j'ai demandé mais en plus qui ait la date 12/01, étant la date la plus ancienne parmi ces trois. Le problème est qu'il y a aussi des valeurs "Cde 2", "Cde 3" ...

J'ai pensé à intégrer la fonction petite.valeur dans ma fonction somme.si.ens pour prendre la date la plus ancienne, mais je n'arrive pas à transcrire en fonction la partie
"pour chaque valeur unique de la colonne E, prendre la quantité en colonne H avec la date la plus ancienne dans le colonne G"

J'ai mis un fichier pour essayer d'illustrer mon exemple.

Pourriez-vous m'aider s'il vous plaît ?

Merci d'avance et bonne journée à vous !
 
Ce fil a été résolu! Aller à la solution…

Fichiers joints

Dernière édition:

alejandro

XLDnaute Nouveau
Bonjour,

Une tentative par Powerquery, d'après ce que j'ai compris.

Cordialement
Bonjour Roblochon, et merci pour ta réponse :).

Effectivement ça m'irait très bien ! Je n'aurais plus qu'à faire une fonction somme.si.ens sur ton tableau pour trouver la somme que je cherche.

J'aimerais bien pouvoir le refaire maintenant. Cependant je suis débutant sur PowerQuery ... J'ai mis la base de données sous forme de tableau, sélectionné le tableau puis cliqué sur "A partir d'un tableau ou d'une plage". Pourrais-tu me dire ce que tu as fait sur PowerQuery après s'il te plaît ?
 
Dernière édition:

Roblochon

XLDnaute Accro
Re,

Une fois l'éditeur PowerQuery ouvert,
Trier sur les colonne E et G en ordre croissant
Regouper les lignes sur chacun des premiers champs comme sur l'image suivante
capture 1.png

Valider. Cela donne dans la barre de formule de l'éditeur PowerQuery :
= Table.Group(#"Lignes triées", {"Colonne A", "Colonne B", "Colonne C", "Colonne D", "Colonne E"}, {{"Min de G", each List.Min([Colonne G]), type date}, {"Premier de H", each List.Sum([Colonne H]), type number}})

Remplacer List.Sum par List.First et validez qui va récupérer la première ligne de la colonne H correspondant au minimum de la colonne G

Cordialement
 
Ce message a été identifié comme étant une solution!

alejandro

XLDnaute Nouveau
Re,

Une fois l'éditeur PowerQuery ouvert,
Trier sur les colonne E et G en ordre croissant
Regouper les lignes sur chacun des premiers champs comme sur l'image suivante
Voir la pièce jointe 1071774

Valider. Cela donne dans la barre de formule de l'éditeur PowerQuery :
= Table.Group(#"Lignes triées", {"Colonne A", "Colonne B", "Colonne C", "Colonne D", "Colonne E"}, {{"Min de G", each List.Min([Colonne G]), type date}, {"Premier de H", each List.Sum([Colonne H]), type number}})

Remplacer List.Sum par List.First et validez qui va récupérer la première ligne de la colonne H correspondant au minimum de la colonne G

Cordialement
Re,

Merci beaucoup Roblochon pour ton aide, ça marche du tonnerre ! ça a l'air vraiment bien PowerQuery. Je passe le sujet en résolu, en espérant que ça pourra également aider d'autres internautes. :)

A une prochaine, bonne journée à toi !

Cordialement,
Alexandre.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas