Home » Excel(エクセル)の関数・数式の使い方 » 日付計算 » 土日を除いた月末最終営業日−EOMONTH関数・WEEKDAY関数

土日を除いた月末最終営業日−EOMONTH関数・WEEKDAY関数

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

月末の日を簡単に求められるEOMONTH関数についてご紹介しました。

このEOMONTH関数を知った方などから、
「土日をのぞいた月末最終日が出るようにしたいのですが・・・?」
「土曜日と日曜日を除外して、月末の最後の日を求めるにはどうしたらいいのでしょうか?」
といったご質問をいただくことがあります。

実務では、月末最終営業日に特定の業務を行うことがあったりするわけで、その日付を簡単に調べたいということです。

[スポンサードリンク]

月末日を返すEOMONTH関数、曜日を数値として取得できるWEEKDAY関数、条件分岐を行うIF関数を併用すれば、土曜日・日曜日を除いた月末最終営業日を求めることができます。


▼操作方法:土日を除外した月末の最終営業日を求める
※A1セルに日付を入力したときに、A6セルに月末最終営業日を表示する例

A6セルに
「=IF(WEEKDAY(EOMONTH(A1,0),2)=7,EOMONTH(A1,0)-2,IF(WEEKDAY(EOMONTH(A1,0),2)=6,EOMONTH(A1,0)-1,EOMONTH(A1,0)))」
という数式を入力する

月末日が
日曜日ならその2日前の日
土曜日ならその1日前の日
月曜日から金曜日に該当すればその日
を表示すればいいわけです。

これを数式にしたのが上記の
「=IF(WEEKDAY(EOMONTH(A1,0),2)=7,EOMONTH(A1,0)-2,IF(WEEKDAY(EOMONTH(A1,0),2)=6,EOMONTH(A1,0)-1,EOMONTH(A1,0)))」
です。

Excelの数式に慣れていない方は、入れ子になって、同じ関数が何度も並んでいるのを見ただけで拒否反応が出るかもしれませんが、そんな場合は途中に改行を入れたり、スペースを入れることを、おすすめします。

=IF(WEEKDAY(EOMONTH(A1,0),2)=7,
  EOMONTH(A1,0)-2,
  IF(WEEKDAY(EOMONTH(A1,0),2)=6,
   EOMONTH(A1,0)-1,
   EOMONTH(A1,0)
  )
)

WEEKDAY関数の第2引数に「2」を指定すると、
日曜日は「7」
土曜日は「6」
といった数値が取得できます。

月末日が日曜日ならその2日前の日を返すのが
=IF(WEEKDAY(EOMONTH(A1,0),2)=7,
  EOMONTH(A1,0)-2,
の部分です。

月末日が土曜日ならその1日前の日を返すのが、先の日曜日部分に続く
  IF(WEEKDAY(EOMONTH(A1,0),2)=6,
   EOMONTH(A1,0)-1,
です。

月曜日から金曜日に該当すればその日を返すのが、先の土曜日部分に続く
   EOMONTH(A1,0)
です。

▼サンプルファイル(003142.xls 43KByte)ダウンロード

サンプルファイルのA6セルに上記の数式が入力してあります。

また、D6セルにA1セルから月末日を求める「=EOMONTH(A1,0)」という数式、D2:D5セル・D7:D9セルにその前後の日付を表示する数式、E2:E9セルには第2引数に「2」を指定したWEEKDAY関数を入力して、D2:D9セルに条件付き書式を設定してあります。

A1セルの値を変更して、E2:E9セルにどんな値が表示されるか、そしてA6セルにどんな日付が表示されるか、ご確認ください。

月末を求めるEOMONTH関数は、分析ツールアドインに含まれる関数です。2003までのExcelをお使いの方でサンプルファイルを利用しようとした時に#VALUE!エラーが表示される場合、分析ツールアドインのインストールを行ってください。

関連語句
EOMONTH関数を使って土日を除外した最終営業日, 月の最終日を示す

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 日付計算 » 土日を除いた月末最終営業日−EOMONTH関数・WEEKDAY関数

TrackBack:6

TrackBack URL
計算式の一部を外に出す from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 「=IF(WEEKDAY(EOMONTH(A1,...
スケジュール表に月末最終営業日を表示 from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 EOMONTH関数を使って、土日を除いた月末の最終...
土日を除いた月末最終営業日−DATE関数・YEAR関数・MONTH関数 from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 EOMONTH関数・WEEKDAY関数・IF関数を...
土日を除外した月末最終営業日の前日を求めたい from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 土日を除いた月末最終営業日を取得する方法をご紹介し...
土日と祝日・祭日・休日を除いた月末最終営業日を取得−WORKDAY関数 from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 土日を除外した月末日関連のネタを何度かご紹介してき...
曜日表示にWEEKDAY関数は不要 from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 はてなブックマークで「第97回 これだけは押さえ...

Home » Excel(エクセル)の関数・数式の使い方 » 日付計算 » 土日を除いた月末最終営業日−EOMONTH関数・WEEKDAY関数

「日付計算」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.