Excel 2005: разница между двумя днями, разница в часах - PullRequest
0 голосов
/ 21 сентября 2010

Я пытался заставить эту функцию Excel работать правильно, и я врезался в стену. Я пытаюсь вычислить точную разницу в днях между двумя датами, принимая во внимание начало время и начало день . Похоже, это должно быть общей потребностью?

Пример:

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

Я думаю, на .3, но вы поняли :) Моя текущая формула выглядит так:

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

Работает почти отлично ... Единственный сбой в том случае, если сегодняшний день находится между датами начала / окончания, он рассчитывает только полные дни и не включает партиалы.

Вот параметры этой функции:

  • Сегодня до даты начала: Рассчитать полное количество дней
  • Сегодня между начальной и конечной датой: Расчет точных оставшихся дней с учетом времени начала / окончания
  • Сегодня дата начала: Расчет точных оставшихся дней с учетом времени начала / окончания
  • Сегодня дата начала, оставшиеся часы: Расчет точных оставшихся дней с учетом времени начала / окончания
  • Сегодня дата окончания, после времени окончания: ноль
  • Сегодня день окончания, оставшиеся часы: Расчет точных оставшихся дней с учетом времени начала / окончания
  • Сегодня после даты окончания: ноль

1 Ответ

0 голосов
/ 21 сентября 2010

Я только что попробовал это в Excel 2000, и предложение с проблемой [End - Now ())] содержит десятичные знаки в ответе.Вы установили формат столбца для включения десятичных знаков на дисплее?

Однако я бы изменил [End-Start + 1] на [CEILING (End-Start, 1)].Это округляет значение до ближайшего целого числа дней.Это дает:

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