これは純粋にExcelシートの質問です。
基本的に、それぞれに日付を含む2つのセルの差である期間があります。
数値の形式を[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
どうやってやるの?そのために利用できる数値形式はありますか?
TEXT
を使用できます
= TEXT(B1-A1,"d:h:mm")
セルに単純な数値形式を直接使用すると、同じ効果が得られることに注意してください
C1, C2
_など)d:hh:mm
_サンプルデータとは異なり、日付の差が31日を超える場合は、=INT(B1-A1)&":"&TEXT(B1-A1,"h:mm")
などのアプローチ
働くでしょう
警告:上記は31日未満の範囲でのみ機能します。使用する
=CONCATENATE(TEXT(FLOOR(B1-A1,1),"@")," Days",TEXT(B1-A1," h:mm:ss"))
代わりに、31日を超える範囲の場合。これはうまくソートされないため、1つの列で計算を実行し、その列で最終結果を確認する方が良いでしょう。
残念ながら、数値と日時の形式を組み合わせることはできません。
0:h:m
チケットになります。ただし、32日間以上のスパンの場合、次のようなカスタム形式を使用できる(端数)日数を表示するだけで十分です。
[>=32] 0.00 "days"; d:h:m
セルの値は数値のままです。
以下は確かに最短の式ではなく、質問に対する直接的な答えではありませんが、正しい結果(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")
開始日がセルC2にあり、終了日がセルD2にあると仮定すると、次のアプローチも機能します。
=TEXT((D2-C2)-MOD(D2-C2,1),"0") & " days " & TEXT(MOD(D2-C2,1),"hh:mm")
=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
私はあなたが持っている日付に関係なく、これはトリックを行うべきだと思います。