PR

 続いて、日付の計算に関連した疑問とトラブルを解決しよう。

 総論で述べたように、日付の本体は「シリアル値」という数値。このため、日付を対象に加減算なども行える。しかし、計算時に意外なトラブルが起きることがある。

 日付を引き算すると、2つの日付間の日数を求められる。ところが実際に試してみると、例えば「38」という日数になるはずが、「1900/2/7」と大昔の日付が表示されて、大いに困惑する(図1)。

図1 試験日までの残り日数を算出しようと、試験日から今日の日付を引いてみた。ところが、本来は「38」という日数のはずが、「19001217」という大昔の日付が表示された。いったいどうなっているのだろうか
図1 試験日までの残り日数を算出しようと、試験日から今日の日付を引いてみた。ところが、本来は「38」という日数のはずが、「19001217」という大昔の日付が表示された。いったいどうなっているのだろうか
[画像のクリックで拡大表示]

 これは、計算結果に日付の表示形式が自動で設定されたからだ。

 日付を引き算すると、Excelはシリアル値の引き算を行い、計算の基となった日付データと同じ表示形式を計算結果のセルに適用する。シリアル値では、「1」が「1900/1/1」を表わすので、「38」は「1900/2/7」の意味になる。この日付が表示されたわけだ。

 日数を表示するには、セルにシリアル値そのものを表示させるため、表示形式を「標準」に変更すればよい(図2)。

図2 「残り日数」を計算したセルを選んで「セルの書式設定」画面を開き、「表示形式」タブで(1)、「標準」を選択すると(2)、日数が表示される
図2 「残り日数」を計算したセルを選んで「セルの書式設定」画面を開き、「表示形式」タブで(1)、「標準」を選択すると(2)、日数が表示される
[画像のクリックで拡大表示]