Récupération valeur en fonction date et sélecteurs

Bonjour à tous,

J'ai une nouvelle problématique à vous proposer. je souhaite récupérer une valeur en fonction de la date et de deux sélecteurs.

En A2:A on dispose de la date (format MM/JJ/AAAA)

En D2:D on dispose du premier sélecteur ( par exemple : achat, donation, cultivé, vente) en fonction de la date

En E2:E on dispose du deuxième sélecteur ( par exemple : Pomme, Orange, Poire ) en fonction de la date

En H2:H, on dispose du nombre de fruit acquis

exemple :

Colonne A I Colonne D I Colonne E I Colonne H

02/28/2021 I Achat I Poire I 20

03/04/2021 I Achat I Pomme I 35

03/20/2021 I cultivé I Orange I 30

04/03/2021 I donation I Pomme I 20

05/15/2021 I cultivé I Pomme I 50

12/18/2021 I donation I Poire I 20

12/21/2021 I Achat I Orange I 45

12/28/2021 I Vente I Pomme I 10

En fonction de la date saisie et du fruit sélectionné, je souhaite en connaitre le nombre contenu dans mon stock. Une sommation est à réaliser tenant compte des sélecteurs

- par exemple, je souhaite connaitre le nombre de pomme de mon stock au 12/28/2021, on aura en résultat 95 pommes

- par exemple, je souhaite connaitre le nombre de pomme de mon stock au 04/03/2021, on aura en résultat 55 pommes

Dans le cas ou la date ne figure pas dans le tableau, je dois afficher la valeur correspond au stock à cette date.

- par exemple, je souhaite connaitre le nombre de poire de mon stock au 03/24/2021, on aura en résultat 20 poires

- par exemple, je souhaite connaitre le nombre de pomme de mon stock au 05/09/2021, on aura en résultat 55 pommes

Solution par formule simple dans la case si cela est possible ou une fonction à appeler dans la cellule

J'espère que quelqu'un pourra me fournir de l'aide là-dessus.

merci d'avance,

Bonjour,

Une solution parmis d'autres :

En supposant que la date à saisir est en K2 et le fruit à choisir en K5

=SOMME.SI.ENS($H$2:$H;$A$2:$A;"<="&$K$2;$E$2:$E;$K$5)

Bonjour,

=query({A2:A,D2:D,E2:E,arrayformula(iferror(if(D2:D="Vente",-1,1)*G2:G))},"select sum(Col4) where Col3='"&J2&"' and Col1<=DATE'"&TEXT($J$1,"yyyy-MM-dd")&"' label sum(Col4) '' ")
image

Bonjour,

je vous remercie pour cette solution.

En effectuant quelques tests, j'ai remarque un petit problème par exemple :

Pour la date 3/4/2021 et produit "Pomme", la sommation n'est pas fait, il m'affiche 20 alors que la sommation pour la date 4/3/2021 qui est à 55

Le résultats sont inversés. Je pense que cela est liée au deux date dont l'écriture est proche.

Je ne comprends pas pourquoi cette sommation n'est pas correctement. Avez vous une idée ?

Cordialement,

cela peut dépendre de ton paramétrage (US, FR, ?) et du format des zones (est-ce toujours MM/DD/YYYY ou certaines cellules sont inversées en DD/MM/YYYY ?)

pour cela partage un bout de fichier

edit : j'ai bien 55, toutes mes dates sont au même format

image

Bonjour ,

Mon paramètrage est en US et je suis au format MM/DD/YYYY.

Je ne sais comment faire pour le partage de fichier, et je ne peux pas encore mettre de lien vers les fichiers google sheet.

je vais revoir au niveau des formats et vous tiens au courant.

J'ai une autre question si maintenant, je veux faire exactement pareil mais en rajoutant une condition les mouvement c'est possible ou pas?

comment modifier la formule ?

pour partager https://www.sheets-pratique.com/fr/cours/partage

normalement un lien vers un google sheet est accepté, sinon mets le entre les balises </> que tu trouves au-dessus du cadre de réponse

image

ajouter une condition ne devrait pas poser de problème

bonjour,

J'ai réussi à régler le problème du format la formule fonctionne correctement maintenant.

Je vais essayer de voir comment faire pour rajouter la nouvelle condition.

Merci encore,

Je corrige ma formule, je n'avais pas déduit les ventes ^^

=SOMME.SI.ENS($H$2:$H,$A$2:$A,"<="&$K$2,$D$2:$D,"<>Vente",$E$2:$E,$K$5)-SOMME.SI.ENS($H$2:$H,$A$2:$A,$K$2,$E$2:$E,K5,D2:D,"Vente")
image

Quel serait l'intérêt d'inclure les mouvements ?

Bonjour,

C'est juste pour faire des amélioration, par exemple savoir les dépenses effectués, le nombre de fruit cultivé en interne ou reçu en externe.

J'ai pu rajouter les autres conditions sans problème.

Merci,

Peut être quelque chose comme ça

=SI(K8="",SOMME.SI.ENS($H$2:$H,$A$2:$A,"<="&$K$2,$D$2:$D,"<>Vente",$E$2:$E,$K$5)-SOMME.SI.ENS($H$2:$H,$A$2:$A,$K$2,$E$2:$E,K5,D2:D,"Vente"),SOMME.SI.ENS($H$2:$H,$A$2:$A,"<="&$K$2,$D$2:$D,"<>Vente",$E$2:$E,$K$5,$D$2:$D,$K$8)-SOMME.SI.ENS($H$2:$H,$A$2:$A,$K$2,$E$2:$E,K5,D2:D,"Vente",$D$2:$D,$K$8))

Bonjour,

Voici une nouvelle problématique que je n'arrive pas à résoudre. J'utilise la formule suivante au niveau de l'onglet "suivi stock": voir fichier

=ARRAYFORMULA(SI(A3:A<>"",query({'Donnée par jour'!A2:A,'Donnée par jour'!D2:D,'Donnée par jour'!E2:E,arrayformula(SIERREUR(SI('Donnée par jour'!D2:D="Vente",-1,1)*'Donnée par jour'!H2:H))},"select sum(Col4) where Col3='"&B1&"' and Col1<=DATE'"&TEXTE(A3:A,"yyyy-MM-dd")&"' label sum(Col4) '' "),""))

Je souhaite calculer automatiquement la quantité d'un produit en stock en fonction de la date, en place une unique formule en B3 qui calculera sur toutes les valeurs du stock en fonction de la date présente en A3:A. Sans étiré de formule

Je n'arrive pas a faire fonctionner la formule, pour les pomme par exemple il affiche 45 partout, pourtant dans la "colonne E" pour faire un test, j'arrive bien afficher le jour correspondant à la date via une formule unique placé en E2.

Voici le fichier associé :

https://docs.google.com/spreadsheets/d/1AT_XmmNG2xNy4fpg4bnsG7ZJbSLDQ2lITYY9o7sx2ww/edit?usp=sharing

Le but s'est d'avoir une formule unique pour réaliser ce calcul applicable sur A3:A.

Pouvez vous s'il vous plait m'aide à résoudre ce problème.

Merci d'avance

Bonjour,

Voici une nouvelle problématique que je n'arrive pas à résoudre. J'utilise la formule suivante au niveau de l'onglet "suivi stock": voir fichier

=ARRAYFORMULA(SI(A3:A<>"",query({'Donnée par jour'!A2:A,'Donnée par jour'!D2:D,'Donnée par jour'!E2:E,arrayformula(SIERREUR(SI('Donnée par jour'!D2:D="Vente",-1,1)*'Donnée par jour'!H2:H))},"select sum(Col4) where Col3='"&B1&"' and Col1<=DATE'"&TEXTE(A3:A,"yyyy-MM-dd")&"' label sum(Col4) '' "),""))

Je souhaite calculer automatiquement la quantité d'un produit en stock en fonction de la date, en place une unique formule en B3 qui calculera sur toutes les valeurs du stock en fonction de la date présente en A3:A. Sans étiré de formule

Je n'arrive pas a faire fonctionner la formule, pour les pomme par exemple il affiche 45 partout, pourtant dans la "colonne E" pour faire un test, j'arrive bien afficher le jour correspondant à la date via une formule unique placé en E2.

Voici le fichier associé :

https://docs.google.com/spreadsheets/d/1AT_XmmNG2xNy4fpg4bnsG7ZJbSLDQ2lITYY9o7sx2ww/edit?usp=sharing

Le but s'est d'avoir une formule unique pour réaliser ce calcul applicable sur A3:A.

Pouvez vous s'il vous plait m'aide à résoudre ce problème.

Merci d'avance

Bonjour,

on ne peut pas propager par arrayformula une formule en query de cette façon, il faut donc changer de stratégie de calcul

dans ton cas, il faudrait faire un cumul de valeur

on va tenter de simplifier un peu

en B1

=query({ 'Donnée par jour'!A:A, 'Donnée par jour'!D:D, 'Donnée par jour'!E:E,arrayformula(iferror(if( 'Donnée par jour'!D:D="Vente",-1,1)* 'Donnée par jour'!H:H))},"select Col1,Col4 where Col3 = '"&A1&"' label Col4 'Quantité' ")

en D1

={"Cumul";arrayformula(mmult(1*(transpose(row(A2:A))<=row(A2:A)),if(C2:C="",0,C2:C)))}
image

Bonjour,

Je vous remercie pour votre réponse.

Je viens d'effectuer un test, La cellule cumul me met une erreur de dimension de tableau .

J'ai aussi un problème de sommation de quantité de mémoire et sachant que je vais devoir dupliquer le tableau AB plusieurs fois.

Je pensais que c'était réalisable avec la formule de départ, mais je vais devoir faire des copiés collés sur xxxx Lignes et xxx colonnes.

Si vous trouvez une autre méthode, je suis preneur car il y avoir plusieurs tableau (AB) au niveau cette feuille, CD ,EF, ------------- etc

Merci encore

capture d ecran 2022 04 29 a 15 13 56

quelle est la formule de I2 ?

on peut essayer de remplacer query qui est pratique par somme.si.ens

si tu as plusieurs tableaux, cela se duplique facilement s'ils sont en parallèle

on peut aussi limiter la taille du résultat au strict nécessaire (*) , mais je ne peux pas travailler avec un image ... et le fichier posté ici https://forum.excel-pratique.com/sheets/recuperation-valeur-en-fonction-date-et-selecteurs-170597#p1... ne reprend pas ton image


pour limiter la taille, la formule est plus complexe et plus pointue

={"Cumul";arrayformula(mmult(1*(transpose(row(indirect("A3:A"&COUNTA(D3:D)+2)))<=row(indirect("A3:A"&COUNTA(D3:D)+2))),if(indirect("D3:D"&COUNTA(D3:D)+2)="",0,indirect("D3:D"&COUNTA(D3:D)+2))))}
image

Bonjour

quelle est la formule de I2 ?

En I2 j'ai reprise la formule suivante :

={"Cumul";if(G3:G="","" ,arrayformula(mmult(1*(transpose(row(G3:G))<=row(G3:G)),if(H3:H="",0,H3:H))))}

J'ai essayé avec des somme.si.ens mais il ne prend pas en compte les dates de la colonne A, j'ai mis la formule en K, il fait le calcul que pour la première date.

J'ai mise à jour le fichier .

Comment faire avec le somme.si.ens ? la formule est colonne K

Pourquoi le if(G3:G .... ?? je n'ai jamais donné cette formule !

={"Cumul";arrayformula(mmult(1*(transpose(row(G3:G))<=row(G3:G)),if(H3:H="",0,H3:H)))}

ou bien

={"Cumul";arrayformula(mmult(1*(transpose(row(indirect("H3:H"&COUNTA(H3:H)+2)))<=row(indirect("H3:H"&COUNTA(H3:H)+2))),if(indirect("H3:H"&COUNTA(H3:H)+2)="",0,indirect("H3:H"&COUNTA(H3:H)+2))))}

Bonjour

Pourquoi le if(G3:G .... ??

J'ai utilisé if(G3:G..... c'était pour mettre une condition lorsque les cellules sont vide de manière à plus afficher les données à l'infini.

Merci

Rechercher des sujets similaires à "recuperation valeur fonction date selecteurs"