時間帯を日、時間、および分の形式でフォーマットする

これは純粋に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

どうやってやるの?それに対応した数字形式がありますか?

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");
追加された 著者 Otiel,
@toshそれはExcelで受け入れられていないという意味ですか?
追加された 著者 brettdj,
@Toshe:テキスト(B1-A1; "d:h:m")を使用する
追加された 著者 peter70,
入力された式はExcelで受け入れられません
追加された 著者 Toshe,

警告:上記は31日未満の範囲でのみ有効です。 つかいます

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

代わりに31日を超える範囲で使用します。これはうまくソートされませんので、1つの列で計算を行い、最終結果のためにその列をあらかじめ確認する方が良いでしょう。

7
追加された
ありがとうございました、私がGoogleからここに来たとき、私が探していたものです。しかし、代わりに "FLOOR(B1-A1,0)"にする必要があります。なぜ日数の部分を維持したいのですか?
追加された 著者 Konstantin Pereiaslov,
私は#DIV/0を得る! FLOOR(、0)を使用するとします。 2番目のパラメータは '重要度'であり、 '小数点以下の桁数'ではありません。小数点以下の桁数を維持するには '0.1'または '0.01'を指定できますが、小数点以下を除外するには '0'を指定できません。この場合、 '1'はフロアが最も近い '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
追加された

残念ながら数字と日時書式を組み合わせることはできません。そうでなければカスタム書式は次のようになります。

0:h:m

チケットになります。ただし、32日以上のスパンの場合は、(分数)日数を表示するだけで十分です。次のようなカスタム形式を使用できます。

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

セルの値は数値のままです。

1
追加された
実際にはこれは私のためにはうまくいくが、 ##:##:## の形式による混乱の嫌悪感は、通常 hh:mm:ss [> = 32] 0.00 "days"; [<1] h:m:s; dh:m:s 、この形式は 34.25 days 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
追加された