• 公開日:
  • 更新日:

Excelで時間の引き算をした際に####と表示された場合

Excelで時間の引き算をすると「####」という表示が出ることがあります。なぜ表示されるのかわからない方も多いはずです。

この記事では、Excelで時間の引き算をした際に####と表示された場合の原因をご紹介します。

また、その対処法についても紹介しているのでぜひお役立てください。

Excelで時間の引き算をした際に####と表示された場合

Excelで時間の引き算をした際に、####と表示されることがあります。

####と表示される

例えば、上の画像は従業員Aさんの稼働時間表です。

7月の稼働時間(例:B3)から8月の稼働時間(例:C3)を引くと、D3セルに本来なら「-20:00:00」と表示されるところ「####」とエラーが表示されてしまいます。

これは、引き算の結果、時間がマイナスとなったためです。

Excelでは時間や日付は内部で「シリアル値」という数値で管理されています。時間のシリアル値は1日(24時間)を「1」として、12時間を「0.5」として扱っています。

このため、0より小さいマイナスの時間は扱えないのでエラーが出てしまいます。

この場合の対処法として、以下の2つの方法を参考にしてください。

オプションから設定する

Excelのオプションから設定して、マイナスの時間を表示させる方法をご紹介します。

ファイルタブを選択する

ファイルタブを選択します。

オプションを選択する

オプションを選択します。

1904年から計算するを選択する

「Excelのオプション」ダイアログボックスが表示されます。

詳細設定を選択し、②画面を下にスクロールします。

③次のブックを計算するときから1904年から計算するに✓を入れ、④「OK」ボタンを押します

1900年1月1日が初期値として定められていますが、を入れると1904年1月1日を初期値として変更できます。これはMac版のExcelとの互換性を保つために用意されております。

正しく表示された

マイナスの時間(例:-20:00:00)が表示されました。

ただし、初期値を変更するとブック全体に反映されます。そのため、別シートの日付のあるセルも4年と1日だけズレが生じてしまうのでご注意ください。

関数を組み合わせる

TEXT関数とABS関数とIF関数を組み合わせて、マイナスの時間を表示させる方法をご紹介します。

マイナスの時間を表示させるには、TEXT関数を使って「####」を任意の表示形式に変更します。

TEXT関数の書式は「=TEXT(値, 表示形式)」です。

TEXT関数の値はABS関数で指定します。これにより、プラスマイナス関係ない絶対値(0からの距離を表す値)が表示されるので、計算ができる状態になります。ABS関数の書式は「=ABS(数値)」です。

TEXT関数の表示形式はIF関数で指定します。これにより、結果がマイナスなら「-」を表示するという条件がつけられます。IF関数の書式は「=IF(論理式,値が真の場合,[値が偽の場合])」です。

最終的に「=TEXT(ABS(数値),IF(論理式,値が真の場合,[値が偽の場合]))」という形で入力します。

方法は以下のとおりです。

セルを選択する

まず、マイナスの時間を表示させたいセル(例:D3)を選択します。

TEXT関数を入力する

次にTEXT関数を入力します。

数式バーに「=TEXT」を入力します。

ABS関数を入力する

次にABS関数を入力します。

数式バーに「(ABS(B3-C3)」を入力します。

IF関数を入力する

次にIF関数を入力します。

数式バーに「,IF(B3-C3<0,"-h:mm:ss","h:mm:ss"))」を入力し、Enterを押します

マイナスで時間が表示された

マイナスの時間(例:-20:00:00)が表示されました。

ただし、TEXT関数は文字列に変換するので左揃えになります。

右揃えにする

右揃えにしたい場合は、①ホームタブ、②右揃えの順に選択すると右揃えになります。