【関数】年/月/日の3つのデータから「日付」(シリアル値)を作成できる「DATE」の使い方
AさんAさん

Excelで「年」と「月」と「日」が数値で分かれている場合、つなげて「日付」を作成したいですが、良い方法はありますか?

森田森田

その場合は、関数のDATEを活用すると良いですよ!
では、DATEの使い方について解説していきますね。

はじめに

この記事は関数の概要を把握していることが前提です。

参考記事

関数の概要については以下の記事をご参照ください。

別データになった年//日を使って日付を作成したい場合は「DATE」が有効

データによっては、年//日を3列に分けて管理しているケースがあります。

//日の軸で集計する際は便利ですが、日付フィルターを使ってレコードを絞り込みたい場合等、この3列をつなぎ合わせた「日付」がほしいことも実務では起こり得ます。

こんな場合、関数のDATEを使うと良いです。
DATEは「デート」と読む。

DATEを使うことで、年//日の3つのデータから「日付」(シリアル値)を作成できます。

ちなみに、シリアル値は、190011日を起点に何日目かをカウントした数値です(「44082」なら、190011日から44082日目)。
シリアル値の「1」は1日(=24h)となり、時刻の場合は時間換算した結果を小数点で示します(1h=1/24h1m=1/24h/60m1s=1/24h/60m/60s)。

DATEの構文

DATEの構文は以下の通りです。

=DATE(年,月,日)
Microsoft Excelの日付/時刻コードで指定した日付を表す数値を返します。

引数名 必須 データ型 説明
数値 「年」にしたい値や単一セルを指定します。
※基本は4桁の整数を指定
数値 「月」にしたい値や単一セルを指定します。
1~12の整数を指定
数値 「年」にしたい値や単一セルを指定します。
1~31の整数を指定

Excelの既定では最初の日付は「190011日」。

引数「年」の値が「0~1899」の場合、その値に「1900」を加算したものがDATEの戻り値の「年」部分になる。
※例:引数「年」に「100」を指定→DATE戻り値「2000/*/*

引数「年」の値が「1900~9999」の場合、その値がそのままDATEの戻り値の「年」部分になる。
※例:引数「年」に「8000」を指定→DATE戻り値「8000/*/*

引数「年」の値が負の数、または「10000」以上の場合、エラー値「#NUM!」が表示。

引数「月」の値が「12」より大きい数値の場合、その値から「12」を減算した月数がDATEの戻り値の「月」部分になり、年に繰り上がった分は引数「年」の値に加算される。
※例:DATE(2000,16,*)DATE戻り値「2001/4/*

引数「月」の値が「1」より小さい数値の場合、「その値の絶対値+1」の月数を引数「年」の1月から減算したものがDATEの戻り値の「月」部分になり、年に繰り下がった分は引数「年」の値から減算される。
※例:DATE(2000,0,*)DATE戻り値「1999/12/*

引数「日」の値が月の最終日より大きい数値の場合、その値から最終日を減算した日数がDATEの戻り値の「日」部分になり、月に繰り上がった分は引数「月」の値に加算される。
※例:DATE(****,1,32)DATE戻り値「****/2/1

引数「日」の値が「1」より小さい数値の場合、「その値の絶対値+1」の日数を引数「月」の1日から減算したものがDATEの戻り値の「日」部分になり、月に繰り下がった分は引数「月」の値から減算される。
※例:DATE(****,5,-1)DATE戻り値「****/4/29

【参考】DATEは「日付/時刻関数」

あくまで参考情報となりますが、DATEはリボン「数式」タブの関数ライブラリの「日付/時刻」に分類されています。

実際にDATEを活用する際は、以下で解説しているように直接入力で挿入していきましょう。

DATEの使用結果イメージ

DATEを使い、「日付」を作成するイメージは以下の通りです。
今回は「年」・「月」・「日」の3列のデータから「受注日」列を作成しました。

上記のように計算列としてDATEを使う場合、1レコードにつき1つの関数を使います。
「計算列」とは、数値/日付/時刻の列の値を計算した新たな列のこと。
DATEをセットしたセルの表示形式を「日付」にしないとシリアル値(44082等)で表示される。

ベースの数式をセットしたら、他のセルへペーストしましょう。

DATEの数式の挿入手順

上記の結果を得るための手順は以下の通りです。

  1. 関数を挿入するセルを選択
    ※今回はE2セル
  2. =d」等と入力
  3. サジェストから「DATE」を選択し、「Tab」キーで確定
  4. 「年」を示すセルを選択 or 数値を入力
    ※今回はB2セル
  5. コンマ(,)を入力
  6. 「月」を示すセルを選択 or 数値を入力
    ※今回はC2セル
  7. コンマ(,)を入力
  8. 「日」を示すセルを選択 or 数値を入力
    ※今回はD2セル
  9. Enter」キーで確定
  10. 1行目の数式をコピーし、以降のセルへペースト
    ※今回はE3~E11セルへペースト

手順②の際にIMEを半角英数モードにすること。
手順④⑥⑧をすべてセル参照する場合、「Ctrl」キーを押しながらセル選択することで手順⑤⑦の入力を省略可能(コンマ(,)が自動入力)。
テーブルの場合、手順⑩は不要(全レコードへ数式が自動的にコピーされる)。

【応用】四則演算+定数と組み合わせで日付計算も可能

DATEは年//日すべてセル参照をする以外にも、それぞれの引数に四則演算や定数を組み合わせることで、任意の日付計算が可能です。

たとえば、初回契約日の「年」と「月」を元に、次回契約開始日(例:3か月後の1日)を計算する等です。

発想次第で基準の日付から請求日や支払日等の計算に役立ちます。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_ワークシート関数_DATE.xlsx

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ブックを開いたら、次の手順を実施してください。(今までの解説のまとめです)

  1. 関数を挿入するセルを選択
    ※今回はE2セル
  2. =d」等と入力
  3. サジェストから「DATE」を選択し、「Tab」キーで確定
  4. 「年」を示すセルを選択 or 数値を入力
    ※今回はB2セル
  5. コンマ(,)を入力
  6. 「月」を示すセルを選択 or 数値を入力
    ※今回はC2セル
  7. コンマ(,)を入力
  8. 「日」を示すセルを選択 or 数値を入力
    ※今回はD2セル
  9. Enter」キーで確定
  10. 1行目の数式をコピーし、以降のセルへペースト
    ※今回はE3~E11セルへペースト

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

DATEは日付データの計算列の追加に役立つ関数の一つです。

定期的に日付の計算列を作成する機会があるなら、ぜひ覚えておいた方が良いですね。

なお、DATE以外にもExcelでのデータ整形の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。


ご参考になれば幸いですm(_ _)m

森田森田

DATEとセットで覚えておいた方が良い関数は、逆パターンとして日付から「年」を取得できるYEAR、「月」を取得できるMONTH、「日」を取得できるDAYです。
また、よりシンプルな数式で日付計算が可能なEDATEEOMONTHもおすすめですね。