Формат часу інтервалу, як кілька днів, годин і хвилин

Це чисто лист листа Excel.

У мене є проміжок часу, тобто в основному різниця між двома клітинами, кожна з яких містить дату:

Мені вдалося отримати різницю у часі у кількості годин і хвилин, змінивши формат номера на [h]: mm . Тепер я хотів би отримати різницю між кількістю днів, годин і хвилин. Я намагався встановити формат числа в [d]: [h]: [mm] , але він не приймається Excel.

Ось що я зараз:

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    79:50
2|  14/10/2011 00:00    17/10/2011 11:00    83:00

Ось що я хотів би отримати:

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    3:7:50
2|  14/10/2011 00:00    17/10/2011 11:00    3:11:00

Як я можу це зробити? Чи існує формат номера для цього?

16

6 Відповіді

You can use TEXT
=TEXT(B1-A1,"d:h:mm")

Зауважте, що такий же ефект можна досягти за допомогою простого формату числа прямо на комірках

  • select your range (cells C1, C2 etc)
  • right click and Format Cells
  • Custom
  • Type d:hh:mm

If unlike your example data, your date differences exceed 31 days, then an approach such as =INT(B1-A1)&":"&TEXT(B1-A1,"h:mm")
will work

25
додано
Мені потрібен код TEXT (B1-A1; IF (B1-A1> 1; "d: hh: mm"; "h: mm")) різниця перевершує один день.
додано Автор Otiel, джерело
@ То, що ви маєте на увазі, це не прийнято в Excel?
додано Автор brettdj, джерело
@Тош: використовувати TEXT (B1-A1; "d: h: m")
додано Автор peter70, джерело
формула, яку набрано, не приймається в Excel
додано Автор Toshe, джерело

Попередження: вищенаведене працює лише для діапазонів менше 31 дня. використовувати

=CONCATENATE(TEXT(FLOOR(B1-A1,1),"@")," Days",TEXT(B1-A1," h:mm:ss"))

замість діапазонів вище 31 днів. Це не буде добре, тому краще було б провести обчислення в одному стовпці, а потім уточнити цей стовпець для кінцевого результату.

7
додано
Спасибі, це те, що я шукав, коли я прийшов сюди з Google. Але замість цього слід "FLOOR (B1-A1,0)", чому ти хочеш зберегти дробну частину днів?
додано Автор Konstantin Pereiaslov, джерело
Я отримую # DIV/0! якщо я використовую FLOOR (<�будь>, 0). Другий параметр - "значення", а не "кількість десяткових знаків для збереження". Ви можете забезпечити "0.1" або "0.01" успішно, щоб зберегти десяткові знаки, але не "0" для їх усунення. У цьому випадку "1" правильний, оскільки FLOOR - до найближчого "1".
додано Автор MrWonderful, джерело

Наступна, звичайно, не найкоротша формула, а не пряма відповідь на це питання, але працює, щоб показати правильний результат (також на LibreOffice) у такому форматі:

# днів ## годин ## хвилин ## секунд

=CONCATENATE(TEXT(FLOOR(B2-A2,1),"@")," days ", IF(HOUR(A12)-HOUR(A11)<0,HOUR(A12)-HOUR(A11)+24,HOUR(A12)-HOUR(A11))," hours ",IF(MINUTE(A12)-MINUTE(A11)<0,MINUTE(A12)-MINUTE(A11)+60,MINUTE(A12)-MINUTE(A11)), " minutes ", TEXT(B2-A2,"s"), " seconds")
1
додано

На жаль, здається, цифри формату datetime і datetime не можуть бути об'єднані, інакше користувацький формат:

0:h:m

буде квиток. Проте якщо протягом 32 днів або більше ви задоволені, просто відобразивши кількість (дрібних) днів, ви можете використовувати такий спеціальний формат, як:

[>=32] 0.00 "days"; d:h:m

Значення комірки залишається числовим.

1
додано
Фактично, це найкраще для мене, але заради плутанини неприйняття через формат ##: ##: ## зазвичай розглядається як hh: mm: ss , я використано наступне: [> = 32] 0.00 "днів"; [<1] h: m: s; dh: m: s , цей формат переводить на 34,25 днів , 4 15:44:10 і 2:15:33 .
додано Автор workoverflow, джерело

Наступний підхід також працює, припускаючи, що ваша дата початку знаходиться в комірці C2, а ваша кінцева дата в комірці D2:

 =TEXT((D2-C2)-MOD(D2-C2,1),"0") & " days " & TEXT(MOD(D2-C2,1),"hh:mm")
0
додано

=IFERROR(INT(Date1-Date2)&" Days "&INT(MOD((Date1-Date2);INT(Datw1-Date2))*24)&" Hours "&MINUTE(Fate1-Date)&" Min";IFERROR((Date1-Date2);"NA"))enter code here

Я думаю, що це повинно зробити трюк, незалежно від дати, яку ви маєте.

0
додано