- 公開日:
- 更新日:
Excelで時間の引き算をした際に####と表示された場合
Excelで時間の引き算をすると「####」という表示が出ることがあります。なぜ表示されるのかわからない方も多いはずです。
この記事では、Excelで時間の引き算をした際に####と表示された場合の原因をご紹介します。
また、その対処法についても紹介しているのでぜひお役立てください。
Excelで時間の引き算をした際に####と表示された場合
Excelで時間の引き算をした際に、####と表示されることがあります。
例えば、上の画像は従業員Aさんの稼働時間表です。
7月の稼働時間(例:B3)から8月の稼働時間(例:C3)を引くと、D3セルに本来なら「-20:00:00」と表示されるところ「####」とエラーが表示されてしまいます。
これは、引き算の結果、時間がマイナスとなったためです。
Excelでは時間や日付は内部で「シリアル値」という数値で管理されています。時間のシリアル値は1日(24時間)を「1」として、12時間を「0.5」として扱っています。
このため、0より小さいマイナスの時間は扱えないのでエラーが出てしまいます。
この場合の対処法として、以下の2つの方法を参考にしてください。
オプションから設定する
Excelのオプションから設定して、マイナスの時間を表示させる方法をご紹介します。
ファイルタブを選択します。
オプションを選択します。
「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」を入力します。
次にABS関数を入力します。
数式バーに「(ABS(B3-C3)」を入力します。
次にIF関数を入力します。
数式バーに「,IF(B3-C3<0,"-h:mm:ss","h:mm:ss"))
」を入力し、Enterを押します。
マイナスの時間(例:-20:00:00)が表示されました。
ただし、TEXT関数は文字列に変換するので左揃えになります。
右揃えにしたい場合は、①ホームタブ、②右揃えの順に選択すると右揃えになります。