Calcul en jours entre deux périodes

Bonjour à tous et toutes,

Je vous expose mon problème. Je dois calculer en jours le différentiel entre deux périodes. Il y a plusieurs lignes avec des dates, mais elles se chevauchent parfois.
Je souhaiterais avoir un résultat par personne (remplacé dans ce cadre par un numéro d'identification ).

En colonne A : un numéro d'identification

En colonne B : une date de début

En colonne C : une date de fin

Plusieurs lignes par numéro d'identification, et je souhaiterais un seul résultat par numéro d'identification. Résultat = nombre de jours total sans compter les périodes qui se chevauchent.

Ci-joint le fichier de travail épuré pour l'exercice.

J'espère avoir été clair.

En vous remerciant d'avance pour votre aide :)

15fichier-test.xlsx (141.02 Ko)

Bonjour

Ta base n'est pas cohérente avec des lignes dont la fin est antérieure au début

On ne peut pas synthétiser ligne par ligne puisqu'il faut supprimer les chevauchements donc ce sera un nouveau tableau

Bonsoir à tous !

Et....

Une approche via Power Query :

A noter : Erreur pour le matricule 20037 :

image

Bonjour à tous,

par formules, sans tenir compte des incohérences signalées.

7fichier-test.xlsx (188.07 Ko)

eric

Re

J'ai d'autres matricules que le 20037 en erreur :

image

Nous obtenons des totaux différents :

Mon PQ moins optimisé donne 7 487 256

Celui de JFL 7 484 428

L'écart vient de mon comptage des 20037 où les dates sont OK

Celui par formule 7 901 233 (je crois qu'il ne compte pas les interruptions)

Bonsoir à tous de nouveau !

J'ai d'autres matricules que le 20037 en erreur....:

Exact !

Mon calcul (Duration.Days) ne génère aucune erreur quand l'écart est de - un jour avec, in fine une liste vide. Seul le matricule 20037 retourne un -46.

Re,

Merci du fond du coeur à vous trois pour avoir pris ma difficulté à bras-le-corps.

Merci aussi d'avoir relevé les incohérences que je n'avais pas vues.

Je viens de réaliser des coups de sonde des différents résultats produits par JFL et je tombe bon sauf pour le matricule 5322.

Lorsque je fais le calcul manuel (via formule datedif), j'arrive à un résultat de 8368 là ou le tableau m'indique 8472.

26-02-0127-02-012,00
09-03-0127-04-0150,00
21-05-0103-08-0175,00
04-09-0113-02-02163,00
18-02-0230-04-196281,00
01-05-1931-03-241797,00
8368,00

Je ne comprends pas d'où peut provenir le delta. Vous confirmez 8472 ? (Ceci dit, je fatigue un peu.)

Remerci

Bien à vous,

Bonsoir à tous de nouveau !

Vos périodes concernant le matricule 5322 ne sont pas exhaustives :

image

Par ailleurs vous ne décomptez pas intégralement les jours communs des différentes périodes. Exemple : la période 26/02/2001 au 27/02/2001 est comprise dans la période 01/05/2019 au 31/03/2024.

Super encore un grand merci !

Je clôture le sujet, c'est donc résolu :)

Une petite question, existe-t-il un cours sur le power query ?

Bonne soirée à tous

Bonsoir à tous de nouveau !

Une petite question, existe-t-il un cours sur le power query ?

Le Net regorge de tutoriels. Vous y trouverez assurément votre bonheur.

RE

Exact !

Mon calcul (Duration.Days) ne génère aucune erreur quand l'écart est de - un jour avec, in fine une liste vide. Seul le matricule 20037 retourne un -46.

Oui j'avais la même erreur -46

Ta requête est infiniment plus rapide que la mienne..

Il faut que je décortique ton imbrication (je la lis et comprends qu'elle fait la même chose que mes étapes séparées mais il faut que ça chemine dans ma tête)

Rechercher des sujets similaires à "calcul jours entre deux periodes"