#####


エラーの原因2

「#####」が表示されるもうひとつの原因があります。それは時間の計算で、数式の結果がマイナスになる場合です。

上図は、セルA1の「17:00」からセルA2の「11:00」を引いています。セルC2には「=A1-A2」という数式を入力しました。セルA1の時刻の方がセルA2より大きいので、セルC2には正常に「6:00」という差が表示されています。

ここで、セルA1の時刻を「9:00」にしてみましょう。こんどはセルA1の時刻がセルA2の時刻より小さくなり、計算結果がマイナスになったので「#####」が表示されます。

Excelでは日付や時間を「シリアル値」という連続した特別の値で管理しています。このシリアル値を計算することで、日付間の日数や、何時から何時までという時間の差を簡単に計算することができます。ただし標準のシリアル値では、マイナスの時間を表示することができません。「9:00」から「11:00」を引いて「-2:00」という答えを期待したのですが、結果は「#####」と表示されてしまいました。これは、セル幅に入りきらないときの「#####」と同じ表示ですが、根本的な原因が違うので、セルの幅を広げても問題は解決しません。

対処方法2

時間の計算で、結果をマイナス表示するには、Excel 2003までは[オプション]ダイアログボックス[計算方法]タブの[1904年から計算する]チェックボックスをオンにします。このオプションは、Excelが使用するシリアル値を1904年1月2日から開始するための設定です。[1904年から計算する]チェックボックスがオフの状態では、シリアル値は1900年1月1日からスタートします。

Excel 2007以降は、[オプション]ダイアログボックス[詳細設定]タブ[次のブックを計算するとき]グループの[1904年から計算する]チェックボックスをオンにします。

実行すると、マイナスの時間を計算できるようになります。

なお、[1904年から計算する]チェックボックスをオンにすると、シリアル値の開始が4年と1日だけ動きます。時間の計算には影響ありませんが、日付を入力しているときは注意してください。ちなみに[1904年から計算する]オプションは、Mac版Excelと互換性を保つために用意されているオプションです。Mac版のExcelでは、1904年1月2日のシリアル値が1として計算されます。…という事情なのですが、どうも最近の新しいMac版Excelは、このへんが変わっているようです。詳しくは、そのうちMac版Excel 2016のレビューで解説します。解説を書いたら、このページからもリンクを貼ります。

もし、セルA1とセルA2に入力した時間の差を調べたいときは、セルA1とセルA2の絶対値を求める手もあります。下図はセルC2に「=ABS(A1-A2)」という数式を入力しました。ABS関数は引数の絶対値を返す関数です。