Excelの便利スキル(第5回)月末、月初の取得(EOMONTH関数)
すぐに使えるExcelの便利な小技を集めました
よく使う機能、よく使う関数を少しだけ深掘り
第5回は、日付データから月末、月初、または翌月20日等指定した日付を取得する手法を紹介していきます。
- 請求書の支払日を翌月末、翌々月10日とした場合の「支払日」の算出
- 銀行の最終営業日(土日を除く月末)を算出する方法
では、細かく見ていきましょう。
【第5回】月末、月初の取得(EOMONTH関数)
ExcelでEOMONTH関数を入力すると、以下のヒントが表示されます。
開始日には基準とする日付データのセルを指定します。月に加算する月数を入力し使用します。月を加算せず当月末の日付を取得したい場合は「0」を入力します。
EOMONTH関数は、基準となる日付データが月の途中の日付でも、月単位での月末日を取得します。
例えば、受注一覧から顧客ごとの請求日と回収日を算出する場合を考えます。
受注一覧には顧客毎の取引条件に従い、請求日が算出されているものとします。回収日はEOMONTH関数を使用して以下の方法で計算できます。
- 翌月末:請求日を基準日とし、1ヶ月加算した月末
- =EOMONTH(請求日, 1) + 0
- 翌々末:請求日を基準日とし、2ヶ月加算した月末
- =EOMONTH(請求日, 2) + 0
- 翌々10日:請求日を基準日とし、1ヶ月加算した月末を求める。その次の月の10日なので、10日分を加算した日付
- =EOMONTH(請求日, 1) + 10
ちなみに、請求日の算出にもEOMONTH関数を使用しているので、もし興味があれば参考にしてみてください。
IF関数のネストは、IFS関数を利用しよう
条件によりセルに表示する内容を分岐できるIF関数はよく利用されるかと思います。しかし複数の条件でセルの内容を表示しなければならない場合、IF関数をネスト(入れ子)して分岐していかなければなりません。Excel2019から追加されたIFS関数を使用することで、複数の条件でもネストすることなく、一つのIFS関数で計算できるようになりました。
例えば、請求書に記載する支払日を月末の日付に、かつ銀行の最終営業日(土日を除く日付)にする場合を考えます。EOMONTH関数、WEEKDAY関数、IFS関数を使用します。
以下の順で考えていきます(末締め翌月末払いとした場合)。
- 支払予定日(月末の日付)をEOMONTH関数を使用して算出
- =EOMONTH(注文日, 1)
- 支払予定日の曜日をWEEKDAY関数を使用して表示
- =WEEKDAY(支払予定日, 2)
- 支払予定日を基準としてIFS関数を使用し、以下のように支払日を分岐
- 平日なら変更なし
- 土曜日なら前日の日付
- 日曜なら前々日の日付
- =IFS(曜日番号 < 6, 支払予定日, 曜日番号 = 6, 支払予定日-1, 曜日番号 = 7, 支払予定日-2)
翌月末払いなので、基準日を注文日とし、支払予定日のセルには1ヶ月加算した月末をEOMONTH関数にて算出します。土曜・日曜を休みとみなすので、WEEKDAY関数の種類は2(週の始まりを月曜)を使用して、曜日番号を表示します。IFS関数は複数の条件で分岐ができるので、平日の場合、土曜日の場合、日曜日の場合に分けて数式を入力します。
2022年4月と2022年7月は月末が土日のため金曜日の日付が支払日になっていることが分かります。
このExcel小技、すぐに使えそうでしょう?
Excelだけでも様々な処理や操作が可能で、その中でも頻繁に使う機能や関数は絞られるはず。「よく利用する」機能や関数をもう少し詳しく知り、使いこなすことで、今の作業をより早く、より簡単に終わらすことができるようになるといいですよね。