
記載された情報が古くなっている可能性がございますので十分ご注意ください。
Excelで月末を表示したいケースは多々あるかと思います。
ビジネス上では、請求書の入金処理を月末にするなど、「月末」を自動で取得したいシーンは良くあります。
Excelのヘルプなどを見ると「EOMONTH()」って便利な関数があります。
っと思いきや、実は取得したいのは「その月の最終営業日」だったりしませんか?
=EOMONTH( "11月8日" ,0) → "11月30日(土)" |
※「EOMONTH(,0)」の0は当月を表します。
そんな時に利用するのが「WORKDAY()」です。
この関数は指定した日付から○営業日(前|後)を計算させる事ができます。
これを組み合わせて「当月の月末の営業日」を算出してみましょう。
<<ポイントは「来月1日を基準に考える」です>>
=WORKDAY(EOMONTH( "11月8日" ,0)+1,-1) → "11月29日(金)" |
まずはEOMONTH()+1で来月1日を算出して、その日を基準日にWORKDAY(,-1)で1日前の営業日を計算します。
これで目的は殆ど達成です。
ですが、まだ祝祭日を計算に入れないと完璧ではありません。
ご心配は無用です。「WORKDAY()」の第三引数に祝祭日のリストを渡す事できますので、祝祭日のデータをどこかに持っておけば大丈夫です。