27
EDATE関数やEOMONTH関数で支払日や満期日の日付を求めよう!
- 365
- web
- 2021
- 2019
- 2016
- 2013
- Web App
- 2011
- 2010
- 2007
- Starter

エクセルのEDATE(エクスバイレーション・デート)関数やEOMONTH(エンド・オブ・マンス)関数を使って~か月前、~か月後の日付や月末の日を求める方法を解説します。
EDATE関数・EOMONTH関数で~か月前、~か月後の指定の日付を求めてみよう
特定の日付から1か月後あるいは翌々月の月末等といった、締日・支払日・満期日を以下の関数を用いて求めることができます。
EDATE関数 ・・・ 基準日からの数か月後の日付を算出
EOMONTH関数 ・・・ 基準日からの数か月後の月末の日付を算出
ここでは、EDATE関数、EOMONTH関数の基本的な書式と機能について紹介します。
EDATE関数・EOMONTH関数の書式
EDATE関数は次のように入力します。
=EDATE(開始日, 月)
また、EOMONTH関数は次のように入力します。
=EOMONTH(開始日, 月)
EDATE関数は基準となる日付(関数内で指定する「開始日」)から、指定した月数(関数内で指定する「月」)の日付を返します。
EOMONTH関数は基準となる日付(関数内で指定する「開始日」)から、指定した月数(関数内で指定する「月」)の月末日付を返します。
EDATE関数とEOMONTH関数は、[関数の挿入]ボタンをクリックして[関数の分類]で[日付/時刻]を選択すると、簡単に入力できます。 また、関数ライブラリからも選択できます。
実際にひと月のカレンダーを使って、どう返されるか見てみましょう。それぞれ1月後の日付と月末を求めたいと思います。
![セルC4をアクティブにし、[数式]タブの[関数の挿入]をクリックしている画面イメージ](images/case27_01.png)
1EDATE関数を入力する、セルC4をアクティブにし、[数式]タブの[関数の挿入]をクリックします。
![[関数の分類]で「日付/時刻」を選択し、[関数名]で「EDATE」を選択して、[OK]ボタンをクリックしている画面イメージ](images/case27_02.png)
2[関数の分類]で「日付/時刻」を選択し、[関数名]で「EDATE」を選択して、[OK]ボタンをクリックします。
![[開始日]に「A4」、[月]に「1」、を入力し、[OK]ボタンをクリックしている画面イメージ](images/case27_03.png)
3[開始日]に「A4」、[月]に「1」を入力し、[OK]ボタンをクリックします。
![セルD4をアクティブにし、[数式]タブの[関数の挿入]をクリックしている画面イメージ](images/case27_04.png)
4セルC4にA4列から一月後の日付が表示されました。
次に、EOMONTH関数を入力する、セルD4をアクティブにし、[数式]タブの[関数の挿入]をクリックします。
![[関数の分類]で「日付/時刻」を選択し、[関数名]で「EOMONTH」を選択して、[OK]ボタンをクリックしている画面イメージ](images/case27_05.png)
5[関数の分類]で「日付/時刻」を選択し、[関数名]で「EOMONTH」を選択して、[OK]ボタンをクリックします。
![[開始日]に「A4」、[月]に「1」、を入力し、[OK]ボタンをクリックしている画面イメージ](images/case27_06.png)
6[開始日]に「A4」、[月]に「1」を入力し、[OK]ボタンをクリックします。

7セルD4にA4列から一月後の末日の日付が表示されました。
C4とD4をコピーして、34行目まで貼り付けます。
C列にA列に対応する一月後、D列にはA列に対応する一月後の末日が表示されていると思います。
(注意)
EDATE関数の末日の計算結果を見てみましょう。
月の日数が違う場合、指定月末日に自動で調整されます。ただし開始日の日付より指定月の末日の日数が多い場合は調整されないので、利用方法を誤ると意図した結果が得られません。
※以下の表は左のセルの一月後を算出するように式を入れてます。
(補足)
EDATE関数とEOMONTH関数は、引数の月を指定する際、指定した月数後を表示させたいならプラスで、月数をさかのぼった月数を表示させたい場合はマイナスで入力します。
ステップアップ:自動更新できるカレンダーを作ってみよう!
本日の日付を基準に自動更新される12か月便のカレンダーを作ってみたいと思います。

WEEKDAY関数で曜日によって表示を変更!
エクセルでWEEKDAY関数を使って日付から曜日を自動的に抽出・記載する方法を解説いたします。

TODAY関数/NOW関数で日付や時刻を自動入力しよう
ファイルを開いた時の日時を自動取得して表示させる「TODAY関数」や「NOW関数」を解説いたします。

DATE関数で日付を表示しよう!
年月日が別々のセルに入力されている値を、日付として一つのセルに表示させることができます。
これまでご紹介してきた
WEEKDAY関数、
TODAY関数、
DATE関数と
YEAR(イヤー)関数、MONTH(マンス)関数を使います。
YEAR関数は日付に対応する年を返し、MONTH関数は日付に対応する月を返します。
YEAR関数は次のように入力します。
=YEAR(シリアル値)
MONTH関数は次のように入力します。
=MONTH(シリアル値)
※シリアル値については、DATE関数で説明しています。

1実際に入力してみます。
- セルA1に「=TODAY()」と入力し、「セルの書式設定」の[表示形式]タブの[分類]からユーザー定義を選択し、[種類]に「yyyy」と入力します。
- セルA3に「=A1」と入力し、「セルの書式設定」の[表示形式]タブの[分類]からユーザー定義を選択し、[種類]に「m」と入力します。
- セルA4に「日」セルB4に「曜日」と入力
- A5からA35を選択し、「セルの書式設定」の[表示形式]タブの[分類]からユーザー定義を選択し、[種類]に「d」と入力
- B5からB35を選択し、「セルの書式設定」の[表示形式]タブの[分類]からユーザー定義を選択し、[種類]に「aaa」と入力
- セルA5に「=DATE(YEAR(A1),MONTH(A1),1)」と入力
- セルB4に「=A5」と入力
- セルA6に「=A5+1」と入力
- セルA6をコピーして、A7からA35まで貼り付けます。
- セルB5に「=A5」と入力
- セルB6に「=A6」と入力
- セルA4からC6をコピーして、D4からF6に貼り付けます。
D4からF6に貼り付けましたら、次の2か所の数式を修正します。
- セルD3に「=EDATE(A3,1)」と入力
- セルD5を「=EDATE(A5,1)」と修正します。

2セルA6からF6をコピー

3A7からF35まで数式の貼り付けをします。

4次にD3からF35をコピーして、G3からAJ3に貼り付けます。

512か月カレンダーが出来上がったと思います。
次にA33からAJ35を選択して、「ホーム」タブの[スタイル]の[条件付き書式]から[新しいルール]をクリックします。
ルールの種類を [数式を使用して、書式を設定するセルを決定] を選択し、ルールの内容に「=MONTH(A33)<>MONTH(A5)」と入力したら、[書式]をクリックします。
セルの書式設定の「フォント」タブを選択し、色を選択し「OK」をクリックします。
※ここでは翌月になる部分を非表示にしたいので、白文字にします。
OR関数でご紹介した条件付き書式を使って土日祝日に色を付ける方法で土日祝日に色を付けていきます。
![「ホーム」タブの[スタイル]の[条件付き書式]から[ルールの管理]をクリック画面イメージ](images/case27_15.png)
6OR関数でご紹介した手順で色付けが終わったら、 「ホーム」タブの[スタイル]の[条件付き書式]から[ルールの管理]をクリックします。

7条件付き書式ルールの管理で表示順の確認をします。
末日の翌月に当たる日付は非表示にしたいので一番上になっているようにします。土曜日が祝日の場合、祝日であることを優先表示させたい場合は赤を上にします。
表示順位の入れ替えは重複ルールの右側の矢印で調整します。
表示したい順になっていたら「OK」をクリックします。
(補足)
今日の日付を基準に12か月分のカレンダーが出来上がるように作りましたが、
A5の数式を「=DATE(A1,A3,1)」にし
- ・A1に西暦4桁
- ・A3に月の1桁もしくは2桁
※「セルの書式設定」の[表示形式]タブの[分類]からユーザー定義を選択し、[種類]で セルA1は「yyyy」と入力、セルA3は「m」と入力しましたが、この場合は 「セルの書式設定」の[表示形式]タブの[分類]で「標準」を選びます。
この記事をシェアする

人気記事
エクセル関数
1. 数学・三角関数
2. 論理関数
3. データベース関数
4. 検索・行列関数
5. 文字列関数
- ASC関数
- CONCATENATE関数
- CONCAT関数
- JIS関数
- LEFT / RIGHT関数
- LOWER関数
- MID関数
- PROPER関数
- PHONETIC関数
- REPT関数
- SUBSTITUTE関数
- TEXT関数
- TEXTJOIN関数
- TRIM関数
- UPPER関数
6. 統計関数
7. 日付と時刻
- DATE関数
- DATEDIF関数
- DATESTRING関数
- DATEVALUE関数
- EDATE関数
- EOMONTH関数
- HOUR / MINUTE関数
- MONTH関数
- TODAY関数
- NOW関数
- WEEKDAY関数
- WORKDAY関数
- WORKDAY.INTL 関数
- YEAR 関数
8. 情報
9. 財務
