web-dev-qa-db-ja.com

時間単位の減算(時刻ではない)

(時刻ではなく)時間単位を引くにはどうすればよいですか?昨年は48分20秒でマラソンを走りました。今年は47分50秒でマラソンを走りました。 Excelでこれを行うと、考えられるすべての書式設定([h]mm:ssを含む)を時間をかけて試しましたが、何も機能しません。 -00:00:30(または負の30秒)の結果を期待しています。

4
Mark

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

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

考慮すべき3番目のことは、セルのフォーマットです。カスタム形式では、[h]:mm:ssまたは[m]:ssを使用できます。角かっこは、時間([h])または分([m])の数を数え、23時間後または59分後にゼロに戻さないようにExcelに指示します。したがって、あなたの場合、セルのフォーマットが次のようになっていることを確認してください:_[m]:ss_

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

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

Microsoftには2つの記事があります。 1つは 日付と時刻の値の保存 (記事の約半分までスクロールダウン)について、もう1つは 時間の加算と減算 についてです。

5
agtoever

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

特定のブックに設定するには、次のようにします。

[ファイル]> [オプション]> [詳細]> [このワークブックを計算するとき]セクション(下部に向かって)まで下にスクロールし、[1904日付システム]のチェックボックスをオンにします。

時々あなたは望ましくない効果を得るかもしれません。既に日付があるワークブックでは、1904年の日付システムに切り替えないでください。基準日は1/1/1904 のではなく 1/0/1900日付は4年1日(1462日)変更されます。

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

enter image description here

4
barry houdini