Microsoft Excel(エクセル)で、数字を使って日付データをどう作成したらいいか悩んだことは無いですか?
例えば、「2024」、「7」、「15」という年月日の数字がセルに入力されているとき、「2024/7/15」の日付にするとった場合です。
こんな時は、日付を作成するDATE関数を利用すると、日付データを作成することができます。
この記事では、DATE関数に関する以下の内容を紹介します。
この記事で紹介すること
・DATE関数の使い方と事例
・DATE関数とDATESTRING関数で和暦を表示する方法
・DATE関数の結果を年月のみや月日のみで表示する方法
・DATE関数の結果を曜日付きで表示する方法
・DATE関数で「うるう年」(2月29日)を判定する方法
・DATEDIF関数で開始から終了までの期間を計算する方法
DATE関数(デイト関数)とは
「2024」、「7」、「15」という年月日の数字がセルに入力されているとき、どうやって日付データを関数で作成しますか?
この3つの数字を「&」演算子やCONCAT関数を使って文字を結合しても、エクセルが数字だと判断してくれないので、日付にはできません。
そのため、日付データを作成するときは、DATE関数を用います。
DATE関数の構文と引数
DATE関数は、「年」「月」「日」をそれぞれ引数に指定して日付データを作成する関数です。
DATE関数の構文と引数は以下のとおりです。
=DATE(年,月,日)
第1~3引数「年」「月」「日」
年月日が入力されたセルを指定するか、直接関数の中に数字を入力します。(例:=DATE(B3,C3,D3)、=DATE(2024,7,15))
ただ、DATE関数は、正確にいうと日付データを作成する関数ではありません。エクセルが日付を管理している「シリアル値」という1~6桁までの数字を表示する関数だと考えて下さい。
ちなみに2024年6月22日のシリアル値は「45465」という数字です。
DATE関数で「45465」という数字が結果として表示され、セルの表示形式によって「2024/6/22」や「2024/6/22(土)」と表示される、というの仕組みです。
このシリアル値のことを知っておくと、エクセルの日付に関する操作で悩むなることが少なくなります。次の見出しでシリアル値の仕組みをもう少し掘り下げてお伝えします。
日付を表すシリアル値って何?
シリアル値とは、「1900年1月1日」を「1」として、何日経過したかを示す数値です。
そのため、毎日シリアル値が+1加算され、1年で365のシリアル値が増え、現在2024年6月22日ではシリアル値は「45465」と6桁の数字になっているという仕組みです。
そのため、DATE関数によって求められるのはあくまでもシリアル値「45465」です。
その結果をセルの表示形式(日付や数値、ユーザー定義)を設定することによって、「2024/6/22」や「2024/6/22(土)」「2024年6月22日」といったように表示することができます。
そのため、セルの表示形式を変えることで、DATE関数の結果を様々な形式で表示することができます。
表示方法を変える方法は、後でちゃんと説明するね。
![](http://www.excel-no-mori-blog.jp/wp-content/uploads/2022/09/-1-e1663401258801.jpg)
DATE関数の使い方と手順
それでは、実際にDATE関数の基本的な使い方を紹介します。
手順1.DATE関数を挿入
まず、日付を表示させたいセルに、DATE関数を挿入します。
=DATE(
手順2.DATE関数に「年」を指定
1つ目の引数に「年」が入力されているセルを指定します。直接数字で入力する場合は、「=DATE(2024,」と入力してください。
=DATE(B3,
手順3.DATE関数に「月」を指定
2つ目の引数に「月」が入力されているセルを指定します。直接数字で入力する場合は、「=DATE(2024,7」と入力してください。
=DATE(B3,C3,
手順4.DATE関数に「日」を指定
3つ目の引数に「日」が入力されているセルを指定します。直接数字で入力する場合は、「=DATE(2024,7,15)」と入力してください。
=DATE(B3,C3,D3)
手順5.DATE関数にシリアル値が表示
「Enter」キーを押してDATE関数を確定させてください。その結果、上記で紹介したシリアル値が表示されることを確認してください。もし、日付データが表示されるのであれば、この手順で作業は終了です。
手順6.セルの書式設定を変更
DATE関数のセルを右クリックし、右クリックメニューから「セルの書式設定」を押してください。
「セルの書式設定」画面の「表示形式」タブから「日付」を選択し、表示したい日付の種類を選択し、「OK」を押します。
手順7.セルの書式設定を変更
そうすると、シリアル値「45488」が「2024/7/15」と表示されました。以上でDATE関数の処理は完了です。
DATE関数を使った事例(8桁の数字「20240715」を変換)
DATE関数を使った応用編の事例を紹介します。
さきほど上記で紹介した事例は、「年」「月」「日」が別々のセルに入力されていましたが、「20240715」といったように、年月日が8桁の数字で表示されている場合の対処方法を紹介します。
こんなときは、セルの中から任意の文字を取り出す3つの関数「LEFT関数」「RIGHT関数」「MID関数」を組み合わせて利用します。
日付を表示したいセルに以下のDATE関数を入力します。下の数式の”B3”は、実際に8桁の数字が入力されているセルを指定してください。
=DATE(LEFT(B3,4),MID(B3,5,2),RIGHT(B3,2))
そうすると、8桁の数字の先頭4文字から「年」が、5文字目からの2文字から「月」が、末尾からの2文字から「日」が指定され、日付が作成されます。
DATE関数の結果がシリアル値が表示される場合は、1つ上の見出しで紹介した右クリックメニューの「セルの書式設定」から日付が表示するよう設定してください。
DATE関数を使った事例(6桁の数字「202407」を変換)
続いて、「202407」のように「年月」が同じセルに入力されている6桁の数字を日付に変換する方法を紹介します。
こんなときは、セルの中から任意の文字を取り出す関数「LEFT関数」「MID関数」を組み合わせて利用します。
日付を表示したいセルに以下のDATE関数を入力します。下の数式の”B3”は、実際に8桁の数字が入力されているセルを指定してください。また、3つ目の引数「日」は1~28の間の好きな数字を入力してください。
=DATE(LEFT(B3,4),MID(B3,5,2),1)
そうすると、DATE関数によって日付もしくはシリアル値が表示されます。今度はこの日付を「年月」で表示するために、右クリックメニューの中から「セルの書式設定」をクリックします。
「セルの書式設定」画面の「表示形式」タブから「日付」を選択し、「2012年3月」など日にちが表示されない表示形式を選択し、「OK」を押します。
その結果、6桁の数字から年月のみの日付を表示することができました。
DATE関数を使った事例(4桁の数字「0715」を変換)
続いて、「0715」のように「月日」が同じセルに入力されている4桁の数字を日付に変換する方法を紹介します。
こんなときは、セルの中から任意の文字を取り出す関数「LEFT関数」「RIGHT関数」を組み合わせて利用します。
日付を表示したいセルに以下のDATE関数を入力します。2つ目の引数「年」は2024など該当の年を入力してください。
=DATE(2024,LEFT(B3,2),RIGHT(B3,2))
右クリックメニューの中から「セルの書式設定」をクリックします。「セルの書式設定」画面の「表示形式」タブから「日付」を選択し、「3月14日」など年が表示されない表示形式を選択し、「OK」を押します。
その結果、4桁の数字から月日のみの日付を表示することができました。
DATE関数の表示を変更する方法
DATE関数の結果を「年月のみ」や「月日のみ」、「曜日」、「和暦」で表示させる方法を紹介します。
どの方法も共通してDATE関数のセルを右クリックし、右クリックメニューの「セルの書式設定」ボタンから表示方法を変更することができます。
DATE関数で「年月のみ」を表示
「2024年7月」というように年月のみ表示したい場合は、「セルの書式設定」画面の「表示形式」タブから分類:「日付」の「2012年3月」を選択します。
「2024/07」と表示させたい場合は、分類:「ユーザー定義」の定義入力欄に「yyyy/mm」を入力します。
DATE関数で「月日のみ」を表示
「7月15日」というように月日のみ表示したい場合は、「セルの書式設定」画面の「表示形式」タブから分類:「日付」の「3月14日」を選択します。
「7/15」とスラッシュで表示させたい場合は、分類:「日付」の「3/14」を選択します。
DATE関数で「曜日」を表示
「7月15日(月)」と曜日を表示したい場合は、「セルの書式設定」画面の「表示形式」タブから分類:「ユーザー定義」に「yyyy/m/d(aaa)」と入力します。
「7/15(月)」など他の方法で曜日を表示したい場合は、下の表の3列目の「ユーザー定義」を入力してください。
日付 | セルの表示 | ユーザー定義 |
2024/7/15 | 月 | aaa |
2024/7/15 | (月) | (aaa) |
2024/7/15 | 月曜日 | aaaa |
2024/7/15 | Mon | ddd |
2024/7/15 | (Med) | (ddd) |
2024/7/15 | Monday | dddd |
2024/7/15 | 2024/7/15(月) | yyyy/m/d(aaa) |
2024/7/15 | 7/15(月) | m/d(aaa) |
2024/7/15 | 2024/7/5(Mon) | yyyy/m/d(ddd) |
2024/7/15 | 7/15(Mon) | m/d(ddd) |
日付に曜日を表示する詳しい方法は、以下の記事でも紹介しています。
DATE関数で「和暦」で令和を表示
DATE関数の結果を「令和6年7月15日」と和暦で表示することもできます。
「セルの書式設定」画面の「表示形式」タブからカレンダーの種類を「和暦」を選択し、「平成24年3月14日」という種類を選択します。
「令和6年7月15日(月)」と曜日つきで表示したい場合は、ユーザー定義に以下の定義を貼り付けしてください。
[$-ja-JP]gge"年"m"月"d"日"(aaa);@
DATE関数で「うるう年」かどうか判定する方法
エクセルのDATE関数は2/29のうるう年を自動で判定します。
仮にうるう年ではない年で2/29を表示しようとした場合、下の図のように3/1と表示されます。
一方、下の4行目の2024年のうるう年は2/29と正しく表示されることから、エクセルはうるう年を正しく判断しています。
DATEDIF関数は開始から終了までの期間を判定
DATE関数は日付(シリアル値)を作成する関数ですが、DATEDIF関数(デイトディフ)を用いると、開始日と終了日の期間を調べることができます。
例えば、「2024年2月15日」から「2024年7月10日」の期間は何日って聞かれると意外と計算できませんよね?
こんな期間を調べたい時、DATEDIF関数を利用すると146日だと判定できます。
以下の記事で、DATEDIF関数の詳しい使い方を紹介していますので、参考にしてみてください。