年・月・日を指定し、その日付を取り出す

上のサンプルの「逆」のようなものですが、合体文字列の生成ではなくて「日付」のデータ型を生成します。
まず、データ上の「日付」がどういうものか理解して下さい。   セル上の「日付」は書式に左右されて、和暦表示だったり、西暦表示だったり、月日だけだったりしますが、「日付」として認識されているなら数式バーには日本語版Excelなら「2000/1/1」という形式で表示されるはずです。 しかし、「日付」というデータ型の実体はこのような視覚的に「年」「月」「日」が認識できるようなものではなく、「シリアル値」というものなのです。
まず「日付」というデータ型を理解して下さい。
セルに和暦で日付を入力
まず、新規ブックを開いて、A1セルに和暦で日付を入力してみます。 セル上では、おそらく入力したままで「平成28年7月18日」などと表示されていると思います。
次に、そのA1セルをもう一度選択してみます。
そのセルを再度、選択
「数式バー」を見ると、入力した和暦の日付ではなく、西暦の日付が表示されているはずです。 これは、セル上の値が「日付」として認識されていて、書式で和暦として表示されていることを表わしています。
では、その「日付」とはどのようなデータなのでしょう。
そのセルの「セルの書式設定」を見る
A1セルを選択した状態で「セルの書式設定」を選択してみます。 バージョンに寄りますが、Excel2013だと、このようになっていました。
これだけでは実体が分からないので、これを「数値」にしてみましょう。
そのセルの書式を「数値」に変更
ここで、既に「サンプル」の表示が5桁の数値に変わったので分かると思いますが、内部の値は「年」「月」「日」を表意するような文字情報ではなく、単なる数値なのです。
このような表を見れば理解ができると思います。
日付に対する「数値」の増分は?
A列に連続した日付を入力しておいて、B列にはそのA列を単純に参照する計算式を入れておきます。 そしてB列の書式を「数値」にしておくと、このようになりました。
内部で扱われている「日付」は、1900年1月1日を起算とする「通算日」のような値なのです。1日を「1」の増分とする値ですが、これで時刻も表記するので「整数」ではなく「実数」です。 1日を「1」の増分とするわけですから、1時間は「24分の1」の増分、1分は「1440分の1」の増分となります。
この前後のページで紹介する関数を使う上では、これらのことを理解していなくても済む場合がほとんどですが、「翌日の日付は1を加えれば良い」とか「月末日は翌月1日から1を引けば良い」などの応用ができるかなどで大きく違いが出ることがあります。

「年」「月」「日」をそれぞれ数値で指定して、これを日付として生成するのがDATE関数です。
DATE関数サンプル
(画像をクリックすると、このサンプルがダウンロードできます)
DATE関数は、カッコ内に「年」「月」「日」を指定することで、該当する日付を生成します。
※7行目は年月日をYYYYMMDD形式の文字列として生成しています。

DATE関数の特質すべき点は、以下の例を見て下さい。
DATE関数サンプル②
(画像をクリックすると、実際にExcelが開きます)
Excelを呼び出すと、上のものと全く同じですが、月日の指定が違います。「2016年13月1日」を要求しているわけで、「2017年1月1日」が返ってきます。これは例えば翌月の日付を求めるような処理を行なう場合に「12月だったら年に1を加えて1月に戻す・・・」などを計算式の上で意識する必要がないことを意味しています。単に月に1を加えれば良いわけです。
R1C1参照形式の場合は

 =DATE(R2C2,R3C2,R4C2)
となります。