Recherche multicritère avec des dates
Bonjour à tous,
Je souhaiterai votre aide pour faire une recherche multicritère avec entre autres des dates à rechercher dans un intervalle.
Je vous ai mis un fichier qui pourra vous aider.
Rechercher si le N° dans la colonne D de la feuille "Feuil2" existe dans la colonne A de la feuille "Données"
Si tel est le cas, rechercher si la date à rechercher (colonne A de la feuille "Feuil2"), est comprise entre la date de début (colonne F de la feuille "Données") et la date de fin (colonne G de la feuille "Données")
Si oui alors renvoyer le lieu (colonne E de la feuille "Données") dans la colonne G de la feuille "Feuil2".
1er cas de retour :
Le N° existe et la date à rechercher est comprise entre date de début et de fin alors renvoyer le lieu de la colonne E de la feuille "Données" dans la colonne G de la feuille "Feuil2".
2ème cas de retour :
Le N° existe mais la date à rechercher n'est pas comprise entre date de début et de fin alors inscrire dans la colonne G de la feuille "Feuil2" : "Mauvaise date"
3ème cas de retour :
Le N° n'existe pas dans la feuille 'Données" alors inscrire dans la colonne G de la feuille "Feuil2" : "N° inexistant"
4ème cas de retour :
Il n'y a pas de N° dans la colonne D donc inscrire en colonne G de la feuille "Feuil2" : "Pas de numéro"
J'espère que mes explications sont assez claires et je vous souhaite une agréable journée.
Vous en remerciant à l'avance,
jeje
Bonjour,
D'après ce que j'ai compris, essayez en Feuil2!G2 :
=LET(t;Données!$A$2:$G$20639;tn;INDEX(t;;1);n;D2;d;A2;
SI(n="";"Pas de numéro";
SI(NB.SI(tn;n)=0;"Numéro inexistant";
FILTRE(INDEX(t;;5);(tn=n)*(d>=INDEX(t;;6))*(d<=INDEX(t;;7));"Mauvaise date"))))Mais que faire si pour un numéro vous avez plusieurs lignes avec des dates début et fin qui se chevauchent, exemple n° 2489746 et date de recherche 01/06/2026 ?
Merci beaucoup ça fonctionne parfaitement.
En ce qui concerne ta question, à part faire mes recherches manuellement pour ce genre de cas je ne vois pas vraiment comment résoudre ce problème dans le cas où les dates se chevauchent mais je pense que le lieu que je vais afficher sera celui où la personne sera le plus longtemps.
En l'occurrence pour ce cas cela signifie que je choisirai le lieu 5025.
Sinon je pense aussi concatener les colonnes A et F de la feuille données et si j'ai des doublons d'aller regarder les durées et donc de faire un choix de lieu.
Je te remercie pour ton aide.
jéjé
Bonjour,
Ok, dès que j'ai un moment je regarde pour pour prendre en compte ce problème dans la formule car si on ne fait rien la formule retournera une erreur de type #Propagation
Bonjour,
Si besoin et si vous pouvez rajouter une colonne dans la feuille Données Durée : =G2-F2+1, vous pouvez obtenir le lieu de durée maximale avec ceci :
=LET(t;TRIER(Données!$A$2:$H$20639;8;-1);tn;INDEX(t;;1);n;D2;d;A2;
SI(n="";"Pas de numéro";
SI(OU(tn=n)=FAUX;"Numéro inexistant";
INDEX(FILTRE(INDEX(t;;5);(tn=n)*(d>=INDEX(t;;6))*(d<=INDEX(t;;7));"Mauvaise date");1))))