SOMMEPROD avec date variable suivant cellule
Bonjour à tous,
Je me permet de écrire car j'ai un problème dans une formule dont je n'arriva pas à trouver une solution.
C'est d'utiliser SOMMEPROD en incluant une date variable suivant une cellule.
Je m'explique : je veux faire des statistiques par mois de janvier à décembre avec une année variable. Je modifie une année dans une cellule qui va modifier les 24 cellules ci dessous.
01/01/2017 31/01/2017
01/02/2017 28/02/2017
01/03/2017 31/03/2017
01/04/2017 30/04/2017
01/05/2017 31/05/2017
01/06/2017 30/06/2017
01/07/2017 31/07/2017
01/08/2017 31/08/2017
01/09/2017 30/09/2017
01/10/2017 31/10/2017
01/11/2017 30/11/2017
01/12/2017 31/12/2017
J'aimerai dans ma formule reprendre pas les date mes les cellule afin qu'elle change d'année toute seule si je change l'année dans ma 1ère cellule.
La formule juste avec des date fonctionne :
=SOMMEPROD((Sorties_Stock!$D$9:$D$65000>="01/01/2017")*((Sorties_Stock!$D$9:$D$65000<="31/12/2017")*(Sorties_Stock!$G$9:$G$65000)))
Par contre avec les cellule non : (ici année complète de janvier à décembre)
=SOMMEPROD((Sorties_Stock!$D$9:$D$65000>=DATEVAL(TEXTE(N3;"jj/mm/aaaaa")))*((Sorties_Stock!$D$9:$D$65000<=DATEVAL(TEXTE(O14;"jj/mm/aaaa")*(Sorties_Stock!$G$9:$G$65000)))))
Le code erreur est : #VALEUR!
Pourriez-vous m'aider ?
Est-possible ou non ?
Merci d'avance.
Cordialement
Bonjour Jul3856 et bienvenue!
Sans "voir" les données, ça risque d'être difficile de t'aider!
Garde les différentes dates (ta série de 24 et celles de la colonne D), ainsi que les valeurs de la colonne G. Le reste ne nous intéresse guère.
Dépose ensuite un extrait significatif des données ... On devrait y voir plus clair
Bonjour U. milité,
Je vous remercie pour votre accueil et de prendre le temps de me répondre,
oui je sais que ce n'est pas simple sans fichier, mais c'est un gros fichier avec pleins de page et de macro, je l'ai donc épuré avant de vous l'envoyer.
Merci à vous pour votre aide.
Re,
Il y a plusieurs soucis, en réalité
- un problème de parenthèses que j'ai surlignées
=SOMMEPROD((Sorties_Stock!$D$9:$D$65000>=DATEVAL(TEXTE(G7;"jj/mm/aaaaa")))*[surligner=#40FF00]((Sorties_Stock!$D$9:$D$65000<=DATEVAL(TEXTE(H18;"jj/mm/aaaa"[surligner=#40FF00])*(Sorties_Stock!$G$9:$G$65000)))))
...aurait dû s'écrire:=SOMMEPROD((Sorties_Stock!$D$9:$D$65000>=DATEVAL(TEXTE(G7;"jj/mm/aaaaa")))*(Sorties_Stock!$D$9:$D$65000<=DATEVAL(TEXTE(H18;"jj/mm/aaaa")))*(Sorties_Stock!$G$9:$G$65000)) - les données en colonne D de la feuille "Sorties_Stock" ne sont pas considérées comme des dates par Excel (sélectionne une de ces dates et déroule la liste des formats dans le groupe Nombre de l'onglet Accueil ... si tu vois que, quel que soit le format, l'info s'affiche sous la même forme, c'est mauvais signe
). Ce type de problème est, hélas, assez courant, notamment dans le cas d'export depuis un autre logiciel) - Si on doit simplement additionner les quantités pour toutes les dates en 2017, on peut écrire plus simplement:
=SOMMEPROD((ANNEE(Sorties_Stock!D9:D100)=2017)*(Sorties_Stock!G9:G100))
Re,
Merci pour le problème de parenthèses, mais ça se résous pas mon problème
J'ai essayé de changer le format de cellule mais rien n'y fait.
Peut être que la formule SOMMEPROD ne sait pas gérer les cellules mais que le texte.
Votre solution à la fin fonctionne pour l'année entière, comme dans mon exemple, pas contre j'avais écrit que je voulait ensuite faire des statistiques mois par mois avec une variation d'année.
Donc la solution ne correspond pas, désolé.
Merci de vous être penché sur mon problème.
Bonsoir,
C'est une impression ou tu fais preuve d'une certaine impatience? Tu préférerais une "solution toute faite" ... ou alors, comprendre d'où vient le problème te semble aussi intéressant que la solution?
Pour ne pas te "noyer", je n'ai pas mentionné toutes les possibilités ... lesquelles dépendent de ce que tu pourrais faire en amont et de ce que tu veux obtenir précisément.
Je n'ai pas dit que la modification des parenthèses solutionnait ton problème ... puisque les dates ... n'en sont pas!
Changer le format ne pourrait en aucun cas résoudre ledit problème, puisque, comme je l'ai indiqué, le résultat sera le même, quel que soit le format.
Ce qu'il faut modifier, c'est soit le contenu de la colonne D, soit la manière de "traiter" ces dates.
Il reste donc plusieurs solutions! Mais il faut que tu précises si toi -ou quelqu'un d'autre- pouvez intervenir sur l'étape où les données sont insérées dans le fichier.
Précise par ailleurs ce que tu entends par "faire des statistiques mois par mois avec une variation d'année"? Tu veux pouvoir modifier l'année en D7, puis obtenir la somme des quantités pour chaque mois? Si c'est ça, essaie, en J7, par exemple:
=SOMMEPROD((ANNEE(Sorties_Stock!$D$9:$D$100)=$D$7)*(MOIS(Sorties_Stock!$D$9:$D$100)=MOIS(G7))*(Sorties_Stock!$G$9:$G$100))Ceci dit, tes 24 dates ne sont pas nécessaires, dans ce cas (mais là aussi, il faut que tu précises si tu en as besoin pour autre chose!).
Sur ce, la bonne soirée
Bonsoir,
Si je suis quelqu’un d'assez patient, ça fait 2 mois que je travaille sur mon fichier qui n'est absolument pas pour moi mais pour un collègue de travail de ma femme, après cela fait 3 jours que je cherche cette formule ou bien une alternative (autre formule similaire ou VBA). Je suis débutant dans le VBA donc assez complexe.
J'aimerai comprendre la formule pour essayer de perfectionner mon excel, après c'est vrai que j'aimerai avancer mon fichier, donc 3 jours que je bloque, et ben ça n'avance pas beaucoup, désolé pour cette impression.
Je n'ai pas eu le temps de me re-pencher complètement dessus depuis hier,
Les dates que j'ai mis seront essentiellement utilisées pour faire les statistiques, Je vais essayer pour faire comme vous dite, sans les dates mais dire que mois je veux en ayant la variation de date. Il me semble que j'avais essayé avec AUJOURD'HUI / ANNEE / ANNEE-1
car j'aimerai faire simplement des statistique mois par mois mais seulement sur l'année en cours N + année N-1 et au pire N-2.
Je viens d'essayer la formule que vous me suggérez, le résultat est 0, ça avance mieux, je vais essayer de chercher de ce côté là.
Merci de prendre le temps.
Cordialement.
Bonjour,
Tant mieux si tu es patient et que tu as envie de comprendre!
Tu obtiens un zéro ... uniquement en J7!? Tu as essayé de recopier la formule vers le bas pour les autres mois?Jul3856 a écrit :Je viens d'essayer la formule que vous me suggérez, le résultat est 0
Regarde en pièce jointe, les résultats en colonne J ... C'est ce genre de choses que tu veux?
Bonjour,
plutôt que comparer le mois pourquoi ne pas comparer simplement l'année ? grâce à la formule =ANNEE() qui permet d'extraire l'année d'une date ?
si tes dates sont en colonne D , l'année concerné en O14 et les valeurs à "sommer" en colonne G cela donne :
=SOMMEPROD((ANNEE(D1:D500)=$O$14)*G1:G500)Bonjour pierre.jy
Déjà proposé hier dans un message à 18:40pierre.jy a écrit :pourquoi ne pas comparer simplement l'année ?
U. Milité a écrit :Bonjour pierre.jy
Déjà proposé hier dans un message à 18:40pierre.jy a écrit :pourquoi ne pas comparer simplement l'année ?
bonjour U.Milité ..:
oui peut-être mais c'est noyé dans ton post de 18h40 .. et ce n'est pas la peine de noyer ma réponse de la même façon
si cette réponse ne convient pas à Jul3856 , qu'il le dise et dise aussi pourquoi ..?
si en plus de filter l'année il veut aussi filtrer sur le mois il est très simple de modifier la formule du genre :
avec un mois en O15...:
=SOMMEPROD((ANNEE(D1:D500)=$O$14)*MOIS(D1:D500)=$O$15)*G1:G500)Re,
... Et celle-là devait être noyée dans ma proposition de 20:40pierre.jy a écrit :oui peut-être mais c'est noyé dans ton post de 18h40 [...] si en plus de filter l'année il veut aussi filtrer sur le mois il est très simple de modifier la formule du genre :avec un mois en O15...:
Re,
Je vous remercie à tous les deux d'avoir pris le temps pour mon problème.
Je n'ai pas eu trop de disponibilité cet après-midi, j'ai emmené mon fils à une compétition de judo.
J'ai essayé la méthode d' U.Milité qui fonctionne parfaitement (le fichier retour modifié), c'est exactement ce que je recherche.
J'ai regardé la formule, je me suis rendu compte que c'est celle que vous m'aviez proposé dès le début, sauf que je l'essayais sur le résultat attendu sur l'année totale en pensant la modifier légèrement (l'adapter) pour faire ensuite mois par mois, sauf qu'elle est différente sur la fin de la formule.
Si je souhaite affiner sur les mois, je regarderai de plus près votre solution Pierre.jy comme vous me l'avez expliqué.
Merci encore d'avoir trouver la solution à mon problème.