DATEとEDATEで日付を作成する
スケジュールに合わせて日付を組み立て、月単位で移動します。
「DATEとEDATEで日付を作成する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
逆方向に進む
前のレッスンでは、日付を分解しました。ここでは、分解された要素から日付を組み立てます。年、月、日が別々の数値としてあり、それらを1つの正しい日付にまとめたい場合があります。
DATE関数は、その処理を正確に行います。また、日付を月単位で前後に移動したい場合は、EDATEが月の日数の違いを考慮して処理してくれます。
これらは、スケジュール管理や期限日の設定、インポートした要素からの日付作成に欠かせない関数です。
DATE関数の構文
DATE関数は、年、月、日の3つの引数を決まった順序で受け取ります。
そのため、=DATE(2026, 6, 18)は2026年6月18日を表す正しい日付の値を作成します。スプレッドシートでは、その値が設定されている日付形式で表示されます。
これは、データが分割された状態で届く場合に重要です。A2に年、B2に月、C2に日が入っていれば、それらを1つの日付に組み立てられます。
=DATE(2026,6,18)別々のセルから組み立てる
DATEの本当の価値は、各要素が別々のセルに入っている場合に発揮されます。A2に年、B2に月、C2に日が入っているとします。
この数式で要素を1つの正しい日付にまとめると、その日付を並べ替えたり、差を計算したり、書式設定したりできます。日付が列ごとに分かれたデータをインポートした後などによく使われます。
=DATE(A2,B2,C2)DATEは範囲外の値を自動調整する
DATEには便利な特徴があります。範囲外の値を正規化してくれるのです。月に13を指定すると翌年に繰り上がり、日に0を指定すると前月の最終日が返されます。
たとえば、=DATE(2026, 1, 0)は2025年12月31日を返します。また、=DATE(2026, 13, 1)は2027年1月1日を返します。
この仕組みを意図的に使うと、月の最終日を計算できます。詳しくはすぐ後で説明します。
=DATE(2026,1,0)月末日を求める
この繰り上がりの仕組みを使うと、便利なパターンが得られます。月の最終日を取得するには、翌月の0日を指定します。
A2に任意の日付が入っている場合、=DATE(YEAR(A2), MONTH(A2)+1, 0)はA2と同じ月の最終日を返します。28日、29日、30日、31日のどの月にも正しく対応できます。
同じ処理をより直接的に行う専用関数EOMONTHもあります。次にこの関数を学びます。
=DATE(YEAR(A2),MONTH(A2)+1,0)EDATE関数
EDATE関数は、日付を月単位で移動させます。開始日と移動する月数という2つの引数を受け取ります。
正の数を指定すると先の日付に、負の数を指定すると前の日付になります。そのため、=EDATE(A2, 3)はA2の3か月後の日付を返し、=EDATE(A2, -1)は1か月前の日付を返します。
可能な場合は同じ月の日を維持するため、月次請求にぴったりです。
=EDATE(A2,3)30日を足すだけではいけない理由
30を足せば1か月進められると思うかもしれませんが、月によって日数は異なります。1月31日に30日を足すと、2月ではなく3月初旬になります。
EDATEは実際の暦における月を理解しています。1月31日に対して=EDATE(A2, 1)を使うと、2月には31日がないため、2月28日(うるう年は29日)が返されます。
そのため、月単位のスケジュールにはEDATEが適しています。
=EDATE(A2,1)月末にはEOMONTH
EDATEと組み合わせて使う関数がEOMONTHです。指定した月数だけ離れた月の月末日を返します。
=EOMONTH(A2, 0)はA2と同じ月の最終日を返します。=EOMONTH(A2, 1)は翌月の最終日を返します。
請求書の締め日や月次レポートの集計締め日を求めるには、これが最も簡単な方法です。
=EOMONTH(A2,0)実践例:サブスクリプションの更新日
顧客がA2の日付に12か月プランを契約したとします。更新日を求めたいとします。
EDATEを使えば、暦上の月を正しく考慮しながら、ちょうど1年先に進められます。うるう年の2月29日に契約した場合も、EDATEは翌年の2月28日へ適切に調整します。
この1つの数式で、手作業の日付計算では間違えやすいあらゆるケースに対応できます。
=EDATE(A2,12)応用例:翌月の初日
EOMONTHと単純な加算を組み合わせると、もう1つの典型的な処理ができます。それは翌月の初日を求めることです。
EOMONTHで当月の最終日を求め、そこに1日を加えると、翌月の初日になります。
そのため、=EOMONTH(A2, 0)+1は、当月の日数に関係なく常に翌月の初日を返します。このような関数を使えば、スケジュール用の数式を堅牢に作成できます。
=EOMONTH(A2,0)+1月初日の連続データを作成する
EDATEと開始日を組み合わせると、スケジュール全体を作成できます。A2に開始日を入力し、次のセルで1か月後、その次のセルでさらに1か月後というように続けます。
たとえば、=EDATE($A$2, 1)、=EDATE($A$2, 2)、=EDATE($A$2, 3)とすると、連続する月における同じ日付が一覧表示されます。$記号で開始セルを固定しているため、数式を下方向にコピーできます。
これで、1つの基準日から月次請求日や支払日をきれいに作成できます。
=EDATE($A$2,2)確認テスト
日付を作成するスキルを確認しましょう。
まとめ:日付を作成する
日付を組み立てたり、移動させたりする方法を学びました。
DATE(year, month, day)は3つの数値から正しい日付を作成し、範囲外の値も自動調整します。DATE(YEAR(d), MONTH(d)+1, 0)は、0日を指定する方法で月の最終日を求めます。EDATE(date, months)は暦上の月単位で日付を移動し、月ごとの日数の違いにも正しく対応します。EOMONTH(date, months)は月末日を返し、1を加えると翌月の初日になります。
次は、2つの日付の間隔を計算する方法を学びます。
よくある質問
「DATEとEDATEで日付を作成する」レッスンは無料ですか?
はい。「DATEとEDATEで日付を作成する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「DATEとEDATEで日付を作成する」で何を学びますか?
スケジュールに合わせて日付を組み立て、月単位で移動します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「DATEとEDATEで日付を作成する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- TODAYとNOWで最新の日付を扱う
- YEAR、MONTH、DAYで日付を分解する
- DATEとEDATEで日付を作成する
- 日付間の日数を数える