[書式] DATE(<年>,<月>,<日>)
[機能] <年>、<月>、<日> であらわされた日付の、シリアル値を返します。
<年> | 西暦を1~4桁の数値で指定します。通常は4桁で指定するといいでしょう。 |
<月> | 月を1~12の数値で指定します。12を超える値を指定すると、超えた月数分だけ先の 翌年以降の対応月とみなされます。 |
<日> | 日にちを1~31の数値で指定します。月末より大きい値を指定すると、超えた日数分 だけ先の翌月以降の対応日とみなされます。 |
●●● 日付の正体を見破ろう ●●●
今回は、次のような簡単な日程表を作成しながら、DATE関数とシリアル値について理解を
深めていきましょう。 「西暦」、「月」、「日」を変更すると、「日付」と「曜日」が自動的に変化
するというワークシートです。
・・・・・しかし、
その前にどうしても正確に理解しておかなければならないことが、1つだけあります。
それは、「シリアル値」です。
ということで、まず、日付のシリアル値とは何か。 簡単に言ってしまうと
「1900年1月1日を 1 とする連番」 (Macでは1904年1月1日を1)
です。 つまり、ただの整数なのです。
具体的にあらわすと、次のようになります。
「1900年1月1日」 は 「1」
「1900年1月2日」 は 「2」
・
・
・
「2008年12月31日」 は 「39813」
「2009年1月1日」 は 「39814」
では、なぜこれが日付になるのか --- それには、「表示形式」 が深く関わっています。
このことを確認するために、実際にちょっとした実験をおこなってみましょう。
まず、適当なセルに 2009/1/1 と入力します。
(1) セルB2 に次のように入力する。
2009/1/1
すると当然のように、セルには
「2009/1/1」
と表示されますね。
次に、そのセルの表示形式を [標準] にしてみます。
![]()
(2) セルB2 を選択。
(3) [書式]メニュー から [セル] を選択。
(4) [表示形式]タブ の [分類] から 「標準」 を選択。
ここで、上図のように、ダイアログボックス内の[サンプル]の部分が「39814」となったのが
確認できたでしょうか。
そして[OK]をクリックしてみます。
(5) [OK]をクリック。
ワークシート上の値も、 「39814」 に変わりましたね。
これがまさに日付の正体です。
つまり、「2009/1/1」 という日付の表示は、「39814」 という数値に 「yyyy/m/d」 という表示形式
を設定したものなのです。
実は、セルに「2009/1/1」 と入力した瞬間、Excel内部では次の2つのことがおこなわれています。
・ 「2009/1/1」 のシリアル値である 「39814」 という数値をセルに入力する。
・ そのセルに「yyyy/m/d」という表示形式を設定する。
このことを理解した上で例題に取り組めば、日付に関する理解がぐっと深まるはずです。
●●● 日程表の作成 ●●●
では、実際にDATE関数を利用した計算式を入力していきましょう。
セルA6 には 「西暦」、「月」、「日」 で指定した日付を表示したいので、それらを計算元とした
式を入力します。
(1) セルA6に、次の計算式を入力する。
=DATE(B1,B2,B3)
すると、きちんと
「2009/1/1」
と表示されましたね。
ここでも、Excelの判断で、自動的に 「yyyy/m/d」 という表示形式が設定されています。
実際に出力されている値は 「39814」 であるということに留意してください。
さて、数値ですから足し算ができます。翌日の日付をあらわすには、1 を足せばいいですね。
(1) セルA7に、次の計算式を入力する。
=A6+1
(2) セルA7 の計算式をセルA8~A15 までコピーする。
つまり、1つ上のセルにどんどん 1 を足していくわけです。 こうすることで、計算式を使って連続
した日付を作成することができます。
ちなみにここでも、日付の書式が自動的に設定されています。
では次に、曜日の列に取りかかりましょう。
(1) セルB6 に、次の計算式を入力する。
=A6
(2) セルB6 の計算式をセルB7~A15 までコピーする。
すると、A列と同じ日付が表示されてしまいました。 これも、「yyyy/m/d」 という表示形式が
自動的に設定されたことによります。
では、表示形式を適切なものに変えてみましょう。 今回は、カッコ付きで曜日を表示してみ
ます。
(1) セルB6~B15 を選択。
(2) [書式]メニュー から [セル] を選択。
(3) [表示形式]タブ の [分類] から 「ユーザー定義」 を選択。
(4) [種類] のテキストボックスに、次のように入力する。
(aaa)
(5) [OK]をクリック。
これで、セルの表示がきちんと曜日に変わります。
あとは配置等を整えれば、冒頭のようなシートが完成します。
最後に、それぞれのセルが実際に出力している値を、確認してみましょう。
はじめにおこなったのと同様に、セルA6~B15 の範囲の表示形式を「標準」にしてみましょう。
すると、次のようになります。
ただの、数字の連番ですね。
このように、
セルに表示されている値と、セルが出力する値とは、必ずしも等しくありません。
セル上の表示は、表示形式によっていかようにも変化するのです。 ですから、
セルの表示にとらわれずに、
「実際に出力しいる値は何か」ということに気を配る
ことが、Excelではとても大切なのです。