XL 2019 Power query - calculer un délai sur des enregistrements différents

  • Initiateur de la discussion Initiateur de la discussion Flx1er
  • 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 !

Flx1er

XLDnaute Occasionnel
Bonjour,
Je voudrais calculer un délai en jour à partir de 2 enregistrements distinct.
En passant par les fonctions excel pas de soucis. Mais je souhaite automatiser cette tache avec power query.

Je n'arrive pas à trouver une solution pour sélectionner les données de 2 enregistrements afin d'effectuer ce calcul.

Dans l'exemple joint en colonne H "Délai en jours", la formule calcule le délai
Si NIP fils = NIP père
alors
Délai en jours = date FIN fils - date DEB père
sinon
"--"
En espérant avoir été explicite
En vous remerciant
 

Pièces jointes

Re après petite balade boisée,
Ben, si c'est pas tout à fait la même, you can (tu peux en français....)
Ben Y'a que les noms qui changent le principe est le même.
Dans le fichier joint et pour ceux que ça intéressent, vous trouverez une autre méthode sans fusion des tables, simplement un "glissement" des colonnes idoines :
PowerQuery:
 Table.FromColumns(Table.ToColumns(Source) & List.Transform(Table.ToColumns( #"Type modifié"[[NIP],[FIN]]), each {null} & List.RemoveLastN(_,1)),Table.ColumnNames(Source) &{"Prec.NIP","Prec.Fin"})
Cette méthode est sensée être plus rapide.
En tous cas elle évite les étapes d'indexation avant, et de tri après la fusion.
J'ai également laissé l'autre requête.
Cordialement
 

Pièces jointes

Re après petite balade boisée,

Ben Y'a que les noms qui changent le principe est le même.
Dans le fichier joint et pour ceux que ça intéressent, vous trouverez une autre méthode sans fusion des tables, simplement un "glissement" des colonnes idoines :
PowerQuery:
 Table.FromColumns(Table.ToColumns(Source) & List.Transform(Table.ToColumns( #"Type modifié"[[NIP],[FIN]]), each {null} & List.RemoveLastN(_,1)),Table.ColumnNames(Source) &{"Prec.NIP","Prec.Fin"})
Cette méthode est sensée être plus rapide.
En tous cas elle évite les étapes d'indexation avant, et de tri après la fusion.
J'ai également laissé l'autre requête.
Cordialement
Merci Hasco pour cette autre solution
 
- 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
Retour