Excelでは「日付」を扱うことができます。 Excelの日付は数値(シリアル値)になる試しに、セルに「2017/4/1」など適当な日付を入れてみましょう。続いて、その下に「=A1+1」など「日付を入れたセルの値+1」の式を入れてみてください。 下のセルには「2017/4/2」と「上のセルの1日後の日付」が入りました。つまり、Excelのセルには、日付を「計算可能な値」として入力できるわけですね。 実際、Excelでは日付として認識したデータを数値として管理しています。Excel内部の日付の数値は「シリアル値」と呼ばれ、「1900/1/1を1とする日単位の数値」です。 1日後の1900/1/2なら2、1900/1/3なら3……となるわけですね。 日数の計算シリアル値は通常の数値ですから、複数のセルに日付を入力しその差をとれば「日数」の計算ができます。「ある日から何日経ったか(ある日まであと何日か)」が計算できるわけですね。 以下のように日付の「引き算」をやってみましょう。 結果は…期待した「日数の数字」ではなく「1900/1/1からの経過日数」になってしまうようです。また、結果がマイナスになる場合は正常に表示されません。 値としては数値でも、「日付同士の計算結果」として自動的に日付形式で表示されるのでしょう。 セルの書式設定を数値形式にすれば日数表示になりますが、とりあえず数値の整形表示を行うTEXT関数で数字表示にしましょうか。 =TEXT(A1-A2,"#") とすると、A1からA2を引いた日数を数字で表示することができます。マイナスの値も正常に表示されるので、「何日前か」という計算もそのまま行えます。 日数計算では、「今日から何日か」を求める場合も多いでしょう。今日の日付(シリアル値)はTODAY関数で得られるので、以下のようにすると「A1セルの日付からの経過日数」を得ることができます。 =TEXT(TODAY()-A1,"#") |