Rechercher une date avec des conditions

  • Initiateur de la discussion Initiateur de la discussion Link31000
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Link31000

XLDnaute Nouveau
Bonjour!

J'ai une base de données avec une colonne A contenant une liste de dates et une colonne B contenant une liste de prix correspondant.

Je souhaite trouver une formule qui me permette, à partir de la date d'aujourd'hui, de trouver le prix correspondant à la date d'il y a un mois, seulement il y a quelques complications:
-les dates vont du lundi au vendredi ce qui veut dire, que je cherche la date la plus proche, si la date exacte n'est pas disponible
-il faut impérativement que le prix de la date recherchée soit dans le mois précédent (aujourd'hui par ex, nous sommes en Juin je recherche donc la valeur en Mai)

Cela parait simple mais je n'arrive qu'à trouver la date la plus proche 30jours avant or cela pose probleme:
si je suis le 30 Juin et que le 30 Mai tombe un dimanche, excel me trouvera donc la valeur la plus proche qui sera le lundi suivant donc le 1er Juin alors que j'aurai voulu avoir le vendredi soit le 28 Mai...

Voici la formule que j'ai trouvée:
=MIN(SI(ABS(date-MOIS.DECALER(D2;-1))=MIN(ABS(date-MOIS.DECALER(D2;-1)));prix))
ou alors
=INDEX(prix;EQUIV(VRAI;ABS(date-DATE(ANNEE(D2); MOIS(D2)-1;JOUR(D2)))=MIN(ABS(date-DATE(ANNEE(D2); MOIS(D2)-1;JOUR(D2))));0))
(les formules sont à entrer avec maj+ctrl+entrée)

En pièce-jointe le document sur lequel je travaille.

Merci d'avance,

Quentin
 

Pièces jointes

Bonjour

Est-ce que la "petite" formule suivante te donne la bonne date ?
Code:
SI(MOIS(SI(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2))-INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1))=MIN(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2))-INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1));INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1)+1)-DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2)));INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1));INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1)+1)))=MOIS(D2)-1;SI(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2))-INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1))=MIN(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2))-INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1));INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1)+1)-DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2)));INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1));INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1)+1));INDEX(date;EQUIV(DATE(ANNEE(D2);MOIS(D2)-1;JOUR(D2));date;1)))

@ plus
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour