Bonjour,
Sachant que j ai un tableau 1 dans lequel je rassemble les données suivantes :
OF pdt | OF | OF p/c | Actual Start Date - Mo Operations | Actual Finish Date - Mo Operations |
F0445997 | 814010 | 351TP1_R | 24/10/2016 00:00 | 24/10/2016 00:00 |
F0457973 | 892705 | 351EMB_R | 30/09/2016 00:00 | 30/09/2016 00:00 |
F375223P108 | 893006 | 351AJ2_R | 05/09/2016 00:00 | 05/09/2016 00:00 |
F375223P108 | 893006 | 351EMB_R | 05/09/2016 00:00 | 05/09/2016 00:00 |
F0483220 | 893203 | 351TP5_R | 02/09/2016 00:00 | 02/09/2016 00:00 |
F0483220 | 893203 | 351EMB_R | 02/09/2016 00:00 | 02/09/2016 00:00 |
F0504922 | 897420 | 351TP1_R | 08/09/2016 00:00 | 08/09/2016 00:00 |
F0504922 | 897420 | 351TP5_R | 14/09/2016 00:00 | 14/09/2016 00:00 |
F0504922 | 897420 | 351EMB_R | 14/09/2016 00:00 | 14/09/2016 00:00 |
F0483567 | 897429 | 351TP5_R | 01/09/2016 00:00 | 01/09/2016 00:00 |
F0483567 | 897429 | 351EMB_R | 01/09/2016 00:00 | 01/09/2016 00:00 |
F329987P015 | 897474 | 351TP5_R | 07/09/2016 00:00 | 07/09/2016 00:00 |
F329987P015 | 897474 | 351EMB_R | 07/09/2016 00:00 | 07/09/2016 00:00 |
F0458344 | 897514 | 351TP5_R | 01/09/2016 00:00 | 01/09/2016 00:00 |
F0458344 | 897514 | 351EMB_R | 01/09/2016 00:00 | 01/09/2016 00:00 |
Comme vous pouvez remarquer, l'OF peut se répéter en 2 ou 3 lignes comme il peut être unique.
Tout OF a un actual start date et actual finish date pour chaque PDC. L'objectif est de connaitre le LEAD TIME de chaque OF. C'est a dire la différence entre premier jour et dernier jour de l'OF sous condition que le premier jour de l'OF doit être le jour apparu dans le premier PDC et que le dernier jour de l'OF doit être celui apparu dans le dernier PDC (Actual finish date : 1ére ligne si l'OF ne se répète pas / 2 éme ligne si l'OF se répète deux fois / 3éme ligne si l'OF se répète trois fois).
1ére étape, j'ai pu mettre (avec une fonction conditionnelle SI) pour chaque OF une date début (selon le premier PDC qui s'affiche) et une date fin (par rapport au dernier PDC).
Date début = SI(OU(B2=B1;B2=B3);SI(C2="351TP1_R";D2;SI(ET(OU(C2="351TP5_R";C2="351AJ2_R";C2="351TP6_R");B1<>B2);D2;""));D2)
Date fin = SI(OU(B2=B1;B2=B3);SI(C2="351EMB_R";E2;SI(OU(C2="351TP5_R";C2="351AJ2_R";C2="351TP6_R";C2="351TP1_R";B1<>B2;C3<>"351EMB_R");"";E2));E2)
OF pdt | OF | OF p/c | Actual Start Date - Mo Operations | Actual Finish Date - Mo Operations | Date début | Date fin |
F0445997 | 814010 | 351TP1_R | 24/10/2016 00:00 | 24/10/2016 00:00 | 24/10/2016 | 24/10/2016 |
F0457973 | 892705 | 351EMB_R | 30/09/2016 00:00 | 30/09/2016 00:00 | 30/09/2016 | 30/09/2016 |
F375223P108 | 893006 | 351AJ2_R | 05/09/2016 00:00 | 05/09/2016 00:00 | 05/09/2016 | - |
F375223P108 | 893006 | 351EMB_R | 05/09/2016 00:00 | 05/09/2016 00:00 | - | 05/09/2016 |
F0483220 | 893203 | 351TP5_R | 02/09/2016 00:00 | 02/09/2016 00:00 | 02/09/2016 | - |
F0483220 | 893203 | 351EMB_R | 02/09/2016 00:00 | 02/09/2016 00:00 | - | 02/09/2016 |
F0504922 | 897420 | 351TP1_R | 08/09/2016 00:00 | 08/09/2016 00:00 | 08/09/2016 | - |
F0504922 | 897420 | 351TP5_R | 14/09/2016 00:00 | 14/09/2016 00:00 | - | - |
F0504922 | 897420 | 351EMB_R | 14/09/2016 00:00 | 14/09/2016 00:00 | - | 14/09/2016 |
Dans un tableau 2, j'ai supprimé les doublons des OF comme suit :
OF | date debut | date fin |
814010 | 24/10/2016 | 24/10/2016 |
877400 | 01/09/2016 | 01/09/2016 |
892705 | 30/09/2016 | 30/09/2016 |
893006 | 05/09/2016 | - |
893203 | 02/09/2016 | - |
894811 | 02/09/2016 | - |
895011 | 01/09/2016 | - |
La date début cherchée du tableau 1 et affichée au tableau 2 est facilement trouvée grâce à la RECHERCHEV.
Le problème se pose pour la date fin puisque RECHERCHEV va me donner la valeur de la première colonne trouvée, qui sera vide dans le tableau 1 si l'OF est répétable au tableau 1.
J'ai essayé avec les fonctions INDEX(EQUIV) et SI(DECAL) mais je tombe sur le même résultat.Quelqu'un peut m'aider SVP :)
J'espère que je me suis bien expliqué.
PS : la recherche doit être faite par rapport à l'OF et non PRODUIT ou autre colonne