Recherche de dates uniques avec clés de liaison communes - Excel
Bonjour,
J’aurai besoin d’aide pour réaliser une fonction opérant dans une sorte de boucle.
Pour cela, j’ai deux feuilles qui sont « reliées » par une clé de liaison dans chacune d’elle (sa composition est une concatenation de cellules avec des informations identiques aux deux feuilles, toutefois cette clé n’est pas unique).
La feuille « Données LA » comporte des données liées à un défaut (Clé, nature défaut, départ, fin, …) et la feuille « Extract prod » contient des infos de production (Clé, Début, fin, …).
Dans les cellules sur fond jaune, j’ai une indication de présence défaut pendant une période de production (information croisée grâce à la clé de liaison entre les feuilles). Actuellement j’utilise une formule qui renvoie comme résultat « VRAI », « FAUX » ou 0.
Voici la formule que j’utilise dans la colonne H de la feuille Extract 2 :
=SIERREUR(ET(OU(INDIRECT("'Données LA'!D"&EQUIV(A2;'Données LA'!B:B;0))="Bloquant";INDIRECT("'Données LA'!D"&EQUIV(A2;'Données LA'!B:B;0))="Communication");INDIRECT("'Données LA'!G"&EQUIV(A2;'Données LA'!B:B;0))>D2;INDIRECT("'Données LA'!H"&EQUIV(A2;'Données LA'!B:B;0))<E2);0)
Cette formule doit vérifier que :
- Les clés de liaisons correspondent
- Le défaut doit être de nature « Bloquant » ou « Communication »
- La date de début du défaut (colonne G de la feuille Données LA) soit supérieure à la date de début de prod (colonne D de la feuille Extract prod)
- La date de fin du défaut (colonne H de la feuille Données LA) soit inférieure à la date de début de prod (colonne E de la feuille Extract prod)
Résultats obtenus par la formule :
- VRAI : Un défaut bloquant ou communication a été trouvé durant la période de production
- FAUX : Correspondance des informations sauf sur le niveau temporel
- 0 : Non correspondance des clés
Pour le moment, la réponse « VRAI » est cohérente mais elle devrait l’être aussi lorsque la réponse « FAUX » est donnée. Excel me donne « FAUX » car il se réfère au 1er résultat qu’il trouve et qui est toujours le même. Cependant, toutes les fois où les clés correspondent je devrais avoir une réponse « VRAI » (voir les cellules en bleues et oranges de la feuille Extract prod).
J’utilise une 2ème formule en colonne I de la feuille Extract prod qui renvoie l’heure du défaut en résultat :
=SIERREUR(SI(ET(OU(INDIRECT("'Données LA'!D"&EQUIV(A2;'Données LA'!B:B;0))="Bloquant";INDIRECT("'Données LA'!D"&EQUIV(A2;'Données LA'!B:B;0))="Communication");INDIRECT("'Données LA'!G"&EQUIV(A2;'Données LA'!B:B;0))>D2;INDIRECT("'Données LA'!H"&EQUIV(A2;'Données LA'!B:B;0))<E2);MAX(RECHERCHEV(A2;'Données LA'!B:G;6;FAUX));"Pas de défaut");"0")
Ce que je souhaiterai obtenir :
- Aucune réponse « FAUX » mais uniquement « VRAI » (avec les critères définis) ou 0.
- Si réponse « VRAI », alors l’heure du défaut le plus tardif correspondant à la plage de début et fin de production doit être obtenu en résultat.
Je souhaiterai également une réponse sous forme de formule Excel et non VBA car le fichier original est sans macros. Ci-joint un fichier Excel très simplifié de l’original.
Merci d’avance pour votre aide.
Bonjour Bat_97,
Ci-jointe une proposition mais attention, j'utilise la fonction MAX.SI.ENS et comme tu n'as pas précisé la version d'Excel, je n'ai pas la certitude que tu en disposes ...
J'ai rajouté 2 colonnes à droite du tableau, la présence d'un défaut est déduite de la présence d'une date (> 0) et j'ai mis une MFC sur la colonne date pour masquer les dates à 0.
Merci de mettre à jour la version d'Excel (en précisant si elle est incluse dans Office 365) et ton environnement (Windows, MAC).
Cdlt,
Cylfo
Bonjour,
Un essai, avec utilisation de FILTRE et LET.
Daniel
Bonjour Cylfo et DanielC,
Merci pour vos réponses.
Cylfo, je ne pourrais répondre à ta question concernant ma version d'Excel qu'en début de semaine prochaine car ma version personnelle est différente de celle que j'utilise sur mon lieu professionnel. Cela dit, je travaille sur un environnement Windows dans les deux cas.
De plus, les 2 colonnes que tu as rajouté peuvent remplacer les colonnes H et I de la feuille "Extract prod", est-ce bien cela ?
DanielC, intéressant cette combinaison de fonction FILTRE et LET de "stockage intermédiaire", je ne connaissais pas.
Sinon vos deux méthodes conviennent à l'idée du résultat que j'avais, à voir dans mon fichier initial si je peux les appliquer en fonction de ma version d'excel.
Quoiqu'il en soit, je vous tiendrais au courant de la suite, merci encore ;)
Re,
De plus, les 2 colonnes que tu as rajouté peuvent remplacer les colonnes H et I de la feuille "Extract prod", est-ce bien cela ?
Oui, c'est bien cela.
Bonjour,
Je viens de voir que la version que j'utilise sur mon lieu professionnel est une version standard d'office 2016.
De ce fait, aucune des fonctions dans vos méthodes (max.si.ens, filtre, let) ne fonctionnent malheureusement...
Avez-vous d'autres solutions correspondantes à ma version d'excel, merci.
Bonjour,
Pour information, j'ai pu basculer mon fichier sur la version excel d'office 365.
La fonction MAX.SI.ENS fonctionne parfaitement pour l'application souhaitée, merci encore Cylfo !