【Excel、スプレッドシート】マイナス時間を表示する

技術

はじめに

特に設定を変えない場合、Excel等の表計算ソフトでマイナスの時間は入力できません。
キーボードからマイナスの時間を入力することは少ないですが、時間計算をした上でマイナス値を表示したいことがたまのたまーにあるので、そのような時のための設定を記事にしました。

この記事で取り扱う表計算ソフト

  • Excel(Microsoft 365)
  • Google スプレッドシート

Google スプレッドシートは以降「スプレッドシート」と表記します。

事象の説明から

マイナス時間を入力したらどうなるの?という部分がまず気になると思いますので、Excel・スプレッドシートそれぞれ、マイナス時間入力時(設定なし)の画像が以下となります。

Excel

「労働時間 – 基準時間」の計算結果をF列に表示したかったのですが、残業時間がマイナスになってしまう日の行は赤枠の通り「#####」になってしまいます。

スプレッドシート

スプレッドシートでは「#」にならず時刻が表示されますが、意図しない時間になっていますね。
「24:00 + (労働時間 – 基準時間)」で計算されるようで、例えば6行目の場合は「-2:00」になってほしいところですが、24:00 + -2:00になって「22:00」が表示されてそうです。

このままだと、時間休などをとればとるほど残業時間が計上されることになりますね。。。w

解決方法

ここからは、それぞれのアプリケーションでの解決方法を記載していきます。

Excel

Excelでマイナス時間を表示するには、次の操作を行えばよいです。

  1. ツールバーの「ファイル」から、「オプション」をクリックする。
  2. Excelのオプションの「詳細設定」を選択して、「1904年から計算する」にチェックを入れる。
  3. 「OK」をクリックする。

「1904年から計算する」の場所

黄色のラインマーカーを引いている箇所にチェックを入れます。

「OK」をクリックした後の計算結果

赤枠内の計算結果がマイナス値で表示されるようになりました。

スプレッドシート

スプレッドシートでマイナス時間を表示するには、次の操作を行えばよいです。

  1. 24:00以降の時間を表示したいセルを選択する。
  2. 「Ctrl + 1」または「右クリック→セルの書式設定」で、セルの書式設定画面を開く
  3. 「表示形式」タブの分類「ユーザー定義」を選択
  4. 「種類」のテキストボックスに、[h]:mm を入力し、「OK」ボタンを押す。

セルの書式設定画面を開くまで

書式の設定

「OK」をクリックした後のシート

赤枠内の計算結果がマイナス値で表示されるようになりました。

なお、この書式設定を行うことで、24:00以降の時間も入力できるようになります。

【Excel、スプレッドシート】24時以降の時刻を表示する
Excelなどの表計算ソフトを使って時間を入力する際、25:00のように24時以降の時間を入力すると「1:00」や「25:00:00」と他と異なる表示をされてヤキモキするので解消する方法を書きました。

注意点

この注意点はExcelに限った話です

マイナス時刻を表示するために「1904年から計算する」にチェックを入れましたが、この設定には副作用があります。
同じファイル中で日付に関する関数を使っている箇所がある場合、計算の母体になる日付や曜日がずれる可能性があります。(Excelが日付や時間を計算するための基準が変わるため)

なお、設定自体は設定したExcelファイルだけが対象なので、別のファイルには影響はありません。

最後に

Excelでマイナス時間表示する設定は結構クセが強いですね。昔からこの設定なのは知っているんだけど、この仕様変わらないのかな。ブック全体の他の時間計算に影響するのと、そもそも設定の仕方が特殊なので単純に使いづらい。。

逆にスプレッドシートは設定したセルにしか影響しませんし、時刻表示を特殊な形式(24時以降の表示やマイナス表示)にする設定が共通なのは使いやすいと感じました。

とはいえ、冒頭で述べたように勤務管理ソフトを導入しているところも多いでしょうし、設定が必要になるケースは少ないかもしれませんね。頭の片隅にでもあればよいのではないでしょうか。

コメント

タイトルとURLをコピーしました