Excel 年、月、日を指定して日付(シリアル値)を取得(DATE関数)
DATE関数は引数に年月日を指定し、対応する日付(シリアル値)を取得する関数です。
単純に日付を入力したい場合は2019/5/20のように日付形式でセル入力をする方が適切で、
このDATE関数は何らかの数式で年、月、日を計算する場合に組み込むための関数です。
この記事ではそのDATE関数の仕様と使い方を紹介します。
仕様
=DATE(年,月,日)
引数 | 省略時の値 | 説明 |
---|---|---|
年 | 省略不可 | 1900(環境によっては1904)~9999までの数値を指定 |
月 | 省略不可 | 1~12までの数値指定 |
日 | 省略不可 | 1~31までの数値指定 |
実行例
引数と実行結果です。

内部で計算している都合上、0以下や32以上など
あり得ない月日を入れても計算されてしまいます。
年も1899年を入れると3799年という結果となります。
1万年を超えると#NUM!エラー、
アルファベットなど数値でないものが混ざると#VALUE!エラーとなります。
閏日の扱い
2019/2/29という引数になる場合、(閏年でない2/29)
結果は2019/3/1となります。
このようなケースを2/28として扱いたい場合は数式をこのようします。
=IF(AND(MONTH(DATE(年,月,日))=3,月=2,年=29),DATE(年,月,日)-DAY(DATE(年,月,日)),DATE(年,月,日))
G列F列が実行結果です。

スピルを利用する方法とメリット
Office365やExcel2019以降ではスピルという形式で記述可能です。
これは複数セルに数式をコピーする場合に便利な機能です。
スピルの利用には引数を複数セルの範囲で指定します。

数式を入力するのは最初の一つのセルですが、
引数1で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

スピルを利用することで今回の例では、
E4セルに入力するだけでよいため(E7以降にコピーペーストが不要)
以下のメリットがあります。
- 入力の手間が少ない(数式のセルが多いほど効果が大きい)
- 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
- 絶対参照が不要
- 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。
Excelを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方、関数の解説(140種類)、
頻出テクニックと実用例(109種類)、
XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。