Mahesh peut comprendre comment calculer la différence entre deux dates et heures en minutes. Cependant, il aimerait calculer la différence en minutes, tout en excluant les heures entre 17h00 et 8h00 ainsi qu’en excluant tout entre 17h00 le vendredi et 8h00 le lundi. Par exemple, si la première date est 18/02/09 18h00 et la date de fin est 19/02/09 9h00, le résultat correct doit être de 60 minutes. Mahesh se demande si cela est possible avec une formule.

Comme cela devrait être évident, une formule pour obtenir le résultat souhaité peut être très complexe. De nombreux abonnés ont fourni différentes solutions, y compris quelques fonctions définies par l’utilisateur. Plutôt que de me concentrer sur tous, je me suis dit que je passerais directement à la formule la plus élégante (la plus courte) et suggérerais de l’utiliser.

Supposons que votre date / heure de début se trouve dans la cellule A1 et que la date / heure de fin se trouve dans la cellule B1. Dans ces conditions, vous pouvez utiliser la formule suivante:

=(NETWORKDAYS(A1,B1)-1)*("17:00"-"08:00")

+IF(NETWORKDAYS(B1,B1),MEDIAN(MOD(B1,1),"17:00"

,"08:00"),"17:00")-MEDIAN(NETWORKDAYS(A1,A1)

* MOD(A1,1),"17:00","08:00")

Ceci est une formule unique; il renvoie un temps écoulé. Cela signifie que vous devrez formater la cellule pour afficher le temps écoulé. Si vous préférez avoir le résultat sous forme d’entier régulier, vous devez utiliser cette version de la formule à la place:

=((NETWORKDAYS(A1,B1)-1)*("17:00"-"08:00")

+IF(NETWORKDAYS(B1,B1),MEDIAN(MOD(B1,1),"17:00"

,"08:00"),"17:00")-MEDIAN(NETWORKDAYS(A1,A1)

MOD(A1,1),"17:00","08:00"))1440

Le changement (multipliant le résultat original par 1440) se traduit par un nombre de minutes plutôt qu’un temps écoulé. La valeur 1440 est obtenue en multipliant 60 par 24 pour obtenir le nombre de minutes dans une journée.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (5399) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Calculating_Elapsed_Time_with_Excluded_Periods [Calcul du temps écoulé avec des périodes exclues].