Résolu Obtenir la date à partir de laquelle deux périodes se chevauchent

maxime.crml

XLDnaute Nouveau
Bonsoir à tous,

Je cherche une âme charitable (ou plusieurs) qui saurait m'aider sur mon problème de chevauchement de date.

Contexte : J'ai un classeur excel qui contient des périodes d'indisponibilité pour des centrales électriques en France (par exemple, quand il y a une maintenance, une grève, etc.), il se peut qu'une centrale tourne temporairement au ralentit ou soit même arrêté.

Variables :
  1. Mise à jour : La date de mise à jour (date à laquelle le producteur a signalé son indisponibilité)
  2. Début indispo : La date de début d'indisponibilité (date à laquelle la centrale en question sera au ralentit ou arrêtée)
  3. Fin indispo : La date de fin d'indisponibilité
  4. Nom de l'unité : Le nom de l'unité de production (= la centrale)
  5. Puissance nominale : La puissance nominale (en MW de la centrale)
  6. Puissance disponible restante : La puissance disponible restante pendant l'indisponibilité (en MW)
Problème : Certaines périodes d'indisponibilité se chevauchent. Si je souhaite calculer la puissance totale indisponible à une période t, il se peut que je compte plusieurs fois des puissances indisponibles alors qu'il s'agit de la même centrale... Je dois donc gérer ce problème de chevauchement ex-ante.

Ce que j'ai déjà fait : Pas mal de choses en fait, les données ici sont déjà passées dans un algorithme. Pour le chevauchement, j'ai réussi à identifier les observations pour lesquelles la période d'indisponibilité chevauche celle d'une autre observation pour une même centrale mise à jour plus récemment... je ne sais pas si c'est très clair, mais la formule (ci-dessous) est déjà insérée dans une 7e variable "OVERLAP" dans la classeur ci-joint.

VB:
=SI(SOMMEPROD((B2<$C$2:$C1043)*(C2>$B$2:$B1043)*(D2=$D$2:$D1043)*(A2<=$A$2:$A1043))>1;1;0)
Ce que je souhaite faire : Obtenir la date (format jj/mm/yyyy HH:MM) à partir de laquelle l'observation i chevauche l'observation j (plus récente pour la même centrale). Sachant qu'il peut y avoir plusieurs i et plusieurs j... Voir le carré rouge sur le schéma ci-dessous.

1027908

Ça doit pas être bien sorcier mais je cale un peu là...

Merci d'avance ! :)

Edit 1 : J'ai ajouté un second fichier (chevauchementTEST2) afin d'isoler un exemple particulier du problème.
Edit 2 : Ci-dessous un screenshot de la situation initial et du résultat souhaité

1027916
 

Fichiers joints

Dernière édition:

maxime.crml

XLDnaute Nouveau
Petit up : Je pense avoir trouvé une solution (un peu bancale je trouve), mais ça marche (code pour le fichier chevauchementTEST2, cellule H2) :

VB:
=MIN(SI($D$2:$D$5=D2;SI($B$2:$B$5>B2;SI($B$2:$B$5<C2;SI($G$2:$G$5=0;$B$2:$B$5)))))
Si vous avez une autre idée, quelque chose de plus efficace, je suis preneur.
Bonne journée à tous !
 
Dernière édition:

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas