時間単位を減算する(時刻ではない)

時間単位を減算する(時刻ではない)

TIME UNIT (時刻ではありません) を減算するにはどうすればよいですか? 昨年、私は 48 分 20 秒でマラソンを走りました。今年は 47 分 50 秒でマラソンを走りました。Excel でこれを行う場合、考えられるすべての時間形式 ( を含む) を試しましたが、何も機能しません。 (または - 30 秒)[h]mm:ssの結果が期待されます。-00:00:30

答え1

Excel では、1 日の小数点を使用して時間を保存します。したがって、3 時間は 0.125 (3/24) として保存されます。時間は日付/時刻値として保存されます。Excel は、1900 年 1 月 1 日午前 12:00 (Excel for Mac では 1904 年 1 月 2 日午前 12:00) から日付のカウントを開始します。0:48:20 という時刻を入力すると、実際には 1900 年 1 月 1 日午前 0:48:20 になります。Excel は日付/時刻の負の値は処理しないため、負の値を減算するとエラーが発生します (セルに "#######" が表示されます)。

もう 1 つの課題は、Excel に 48:20 が 48 時間 20 分ではなく 48 分 20 秒を意味することを理解させることです。これを行うには 2 つの方法があります。

  • 時間表記を使用します。48 分 20 秒は次のようになります。0:48:20
  • 次の関数を使用しますTIME:=TIME(0;48;20)

3 番目に考慮すべきことは、セルの書式設定です。カスタム書式では、[h]:mm:ss または [m]:ss を使用できます。括弧は、Excel に時間数 ([h]) または分数 ([m]) をカウントし、23 時間後または 59 分後にゼロに戻さないことを指示します。したがって、この場合、セルの書式設定が次のようになっていることを確認してください。[m]:ss

簡単に言うと、Excel は負の時間値を処理する方法を知らないため、必要な操作を「すぐに実行できる」方法はありません。

もし、あんたが本当に求めているものを計算したい場合は、A2 から A1 を引く次の (少し複雑な) 式を使用できます。=IF( A2-A1 < 0; "-"; "") & TEXT( ABS(A2-A1); "[m]:ss" )これは実際には、時間を減算し、それを正の数 ( ABS) に変換し、文字列 ( TEXT) としてフォーマットし、負の場合はその前に "-" を付けます。結果はテキストであり、数値 (値) ではないことに注意してください。

Microsoftには2つの記事があります。1つは日付と時刻の値を保存する(記事の半分くらいまでスクロールしてください)時間の加算と減算

答え2

エクセルできる負の時刻を処理します......ただし、Excel のデフォルトの 1900 日付システムではなく、「1904 日付システム」を使用する場合のみです

特定のワークブックに設定するには、次の手順を実行します。

ファイル > オプション > 詳細設定 > 「このブックを計算するとき」セクション (下部) までスクロールし、「1904 日付システム」のボックスにチェックを入れます。

望ましくない影響が出る場合もあります。すでに日付が設定されているワークブックでは、1904 日付システムに切り替えないでください。基準日が 1904 年で1/1/1904はなく、1/0/1900日付が 4 年と 1 日 (1462 日) 変わるためです。

スクリーンショットを参照してください:

ここに画像の説明を入力してください

答え3

これは動作します。時間関数は 24 時間を受け入れることができませんが、23 時間で騙して、後で修正します...

=IF(A1<B1,TIME(23,0,0)-A1+B1+TIME(1,0,0),B1-A1)

関連情報