日付(日数)の計算と表示

Excelでは「日付」を扱うことができます。

Excelの日付は数値(シリアル値)になる

試しに、セルに「2017/4/1」など適当な日付を入れてみましょう。続いて、その下に「=A1+1」など「日付を入れたセルの値+1」の式を入れてみてください。

Excelのセルに日付を入れる

下のセルには「2017/4/2」と「上のセルの1日後の日付」が入りました。つまり、Excelのセルには、日付を「計算可能な値」として入力できるわけですね。

実際、Excelでは日付として認識したデータを数値として管理しています。Excel内部の日付の数値は「シリアル値」と呼ばれ、「1900/1/1を1とする日単位の数値」です。

1日後の1900/1/2なら2、1900/1/3なら3……となるわけですね。

日数の計算

シリアル値は通常の数値ですから、複数のセルに日付を入力しその差をとれば「日数」の計算ができます。「ある日から何日経ったか(ある日まであと何日か)」が計算できるわけですね。

以下のように日付の「引き算」をやってみましょう。

Excelのセルで日付を引き算してみる

結果は…期待した「日数の数字」ではなく「1900/1/1からの経過日数」になってしまうようです。また、結果がマイナスになる場合は正常に表示されません。

値としては数値でも、「日付同士の計算結果」として自動的に日付形式で表示されるのでしょう。

セルの書式設定を数値形式にすれば日数表示になりますが、とりあえず数値の整形表示を行うTEXT関数で数字表示にしましょうか。

=TEXT(A1-A2,"#")

とすると、A1からA2を引いた日数を数字で表示することができます。マイナスの値も正常に表示されるので、「何日前か」という計算もそのまま行えます。

日数計算では、「今日から何日か」を求める場合も多いでしょう。今日の日付(シリアル値)はTODAY関数で得られるので、以下のようにすると「A1セルの日付からの経過日数」を得ることができます。

=TEXT(TODAY()-A1,"#")