Як розрахувати різницю між двома датами?


0

У мене є лист, який містить:

  • стовпець A: імена
  • колонка B: дата прийому
  • колонка C: дата відпустки
  • колонка D: дата смерті
  • колонка Z: дата народження

Хочу розрахувати тривалість перебування (date of leave - date of admission) якщо дата смерті порожня, і (date of leave - date of death) якщо є дата смерті.

У мене є це рівняння, яке обчислює вік:

=DATEDIF($Z5,TODAY(),"Y") & " Years, " & DATEDIF($Z5,TODAY(),"YM") & " Months, " & DATEDIF($Z5,TODAY(),"MD") & " Days"

Чи може він бути змінений, щоб задовольнити мої потреби, або є інша формула для використання?


Можливо, ви захочете відвідати сайт Chip Pearson. Він має деякі досить витончені формули для розрахунків дати. cpearson.com/excel/MainPage.aspx
BillDOe

Відповіді:


0

Наступна формула дає вам запитуваний результат з тривалістю, вираженою в кількості днів.

=IF($D5='',$C5 - $B5, $C5 - $D5)

ОНОВЛЕННЯ: Якщо ви хочете висловити інтервали дат у роках, місяцях і днях, що відповідають логіці вашого запитання, формула буде більш детальна:

=IF($D5='', DATEDIF($B5, $C5, "Y") & " Years, " & DATEDIF($B5, $C5, "YM") & " Months, " & DATEDIF($B5, $C5, "MD") & " Days", DATEDIF($D5, $C5, "Y") & " Years, " & DATEDIF($D5, $C5, "YM") & " Months, " & DATEDIF($D5, $C5, "MD") & " Days")

У випадку, якщо ви збираєтеся частіше використовувати у ваших документах інтервали дат, виражені у роках, місяцях і днях, варто розрахувати менші кроки в сусідніх клітинах або створити функцію, визначену користувачем, яка допоможе вам зберегти документ далі. Просто Google "визначена користувачем функція excel" - будь-яка з провідних посилань дає дуже хороші пояснення до цього.


Якби я опублікував цю відповідь, він би був знижений.
BillDOe

Очевидно, ОП знає, як знайти відмінності у датах і надав свою нинішню формулу для віку, що показує, як він хоче, щоб різниця була виражена. Питання полягає в тому, як адаптувати цю формулу, щоб включити ту логіку, яку ви тут використовували. Чи можете ви поліпшити свою відповідь на це питання?
fixer1234

Дякую, але мені потрібно відобразити тривалість перебування в роках, місяцях і днях, а не тільки днях
Hany

1
@hany tx - Я розгляну його сьогодні, щоб переконатися, що він правильно відповідає на оригінальне запитання. Звичайно, він може бути модифікований, щоб зробити його логікою ще більш розробленою, але вона стала б практично не читаною. Я рекомендую вам або створити функцію, визначену користувачем, для різниці дат у читабельному тексті людини або використовувати кілька прихованих комірок поруч із кінцевим результатом для виконання розрахунку невеликими зрозумілими кроками. Я пропоную вам використовувати останній підхід - це набагато простіше для початківців
maoizm

1
@Hany Я прочитав ваш оригінальний запит і останній коментар, і я знайшов, що моя формула правильно відповідає на ваше оригінальне запитання, оскільки ви просите знайти різницю між датою відпустки (тобто стовпцем C) і датою смерті (тобто стовпцем D), якщо є дата смерті.
maoizm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.