2010-09-21 6 views
0

J'ai essayé de faire fonctionner correctement cette fonction Excel, et j'ai frappé un mur. J'essaie de calculer la différence exacte en jours entre deux dates, en prenant le début temps en compte ainsi que le début jour. On dirait que cela devrait être un besoin commun?Excel 2005: Différence entre deux jours, en comptant la différence d'heures

Exemple:

Start Date   End Date     Expected Result 
9/20/2010 8:00am  9/22/2010 3:00pm    2.3 days 

Je devine au ,3, mais vous voyez l'idée :) Ma formule actuelle ressemble à ceci:

=IF(End < NOW(), 0, IF(Start >= NOW(), End-Start+1, End-NOW())) 

Il fonctionne presque parfaitement ... le seul hiccup est si aujourd'hui est entre les dates de début/fin, il calcule seulement des jours complets, et n'inclut pas les partiels.

Voici les paramètres de cette fonction:

  • Aujourd'hui est avant la date de début: Calculer le nombre total de jours
  • Aujourd'hui est entre le début et la date de fin: Calculez jours exactement à gauche, prendre début/fin heures en compte
  • Aujourd'hui est la date de début: Calculer les jours exacts restants, en tenant compte des heures de début/fin
  • Aujourd'hui est la date de début, heure à gauche: Calculer jours précis à gauche, en heures de début/fin en compte
  • Aujourd'hui est la date de fin, après l'heure de fin: zéro
  • Aujourd'hui est le jour final, les heures gauche: Calculer jours précis à gauche, en début/heure de fin en compte
  • Aujourd'hui est après la date de fin: zéro
+0

Je vais seulement mentionner que vous devriez prendre soin de considérer l'heure d'été. –

Répondre

0

Je viens d'essayer dans Excel 2000 et l'esprit de l'article h le problème [End - Now())] inclut des décimales dans la réponse. Avez-vous défini le format de la colonne pour inclure des décimales dans l'affichage?

Cependant, je voudrais changer [End-Start + 1] à [CEILING (End-Start, 1)]. Cela arrondit la valeur au nombre entier de jours le plus proche. Cela donne:

=IF(End < NOW(), 0, IF(Start >= NOW(), CEILING(End-Start,1), End-NOW())) 
+0

Puisqu'il semble vouloir une décimale, je pense que vous voudriez 0,1 dans la fonction CEILING. –

+0

Le plafond est pour la clause "Aujourd'hui est avant la date de début: Calculer le nombre total de jours". Je suppose qu'il veut dire un nombre entier et c'est pourquoi il avait le +1 à l'origine (donc l'affichage arrondi produirait un certain nombre de jours). – arx

+0

arx - Les colonnes sont formées pour afficher deux décimales ... et elles apparaissent.00 – morganpdx

Questions connexes