Excel 翌月の指定日が土日・祝祭日だったら
Excelのdate関連の関数を駆使して、翌月の指定日が土日・祝祭日だった場合、
翌営業日の日付を返します。
--前提
A1 指定西暦(年)
B1 指定月(月)
C1 指定日(日)
E1 開始日から起算する日数
Holiday 祝祭日のテーブル(事前にマニュアル作成必須)
判定する日付をDATE(A1,B1,C1)とする
--関数
=IF(OR(WEEKDAY(DATE(A1,B1,C1),2)>=6,
NOT(ISERROR(VLOOKUP(DATE(A1,B1,C1),Holiday,1,FALSE)))),
WORKDAY(DATE(A1,B1,C1),E1,Holiday),
DATE(A1,B1,C1))
WEEKDAY(シリアル値,種類) 曜日を判別するために使います
例)WEEKDAY(DATE(A1,B1,C1),2)
DATE(A1,B1,C1)が月曜日だったら”1”、火曜日だったら”2” 以後、、、
DATE(年,月,日) 指定した日付を表すシリアル値を返します。
ISERROR(テストの対象) セルの内容がエラー値だったら"TRUE"を返す。
VLOOKUP(検索値,範囲,列番号,検索の型)
テーブルの左端列を検索し、指定した列と同じ行にある値を返します。
WORKDAY(開始日,日数,祭日)
開始日から起算して日数で指定した日数だけ前あるいは後の日付に対応する
シリアル値を計算します。
これらを組み合わせて、
1行目 もし、判定する日付が土曜日、日曜日
2行目 もしくは祝祭日テーブルに合致する
Yes
3行目 開始日から起算して日数で指定した日数だけ前あるいは後の日付
No
4行目 判定する日付をそのまま返す
ちょっと複雑になってしまったので、メンテナンスは行いにくいです。
翌月の振込み日(たとえば20日)の営業日の判別などに便利です。
場合によってはカレンダーを見たほうが早かったりしますが、、、
「Excel」カテゴリの記事
- エクセル 文字列操作(2010.02.18)
- エクセル VBA ピポットテーブルを作成(2009.04.17)
- エクセル VBA ファイル・フォルダの存在確認(2009.04.16)
- Excel VBA Tips (1)(2009.04.15)
- Excel 翌月の指定日が土日・祝祭日だったら(2008.09.01)



Comments
okyuu.com オススメblog掲載の御相談
このたびはokyuu.comにリンクいただき大変ありがとうございました。
突然のコメント失礼いたします。
ソーシャルITメディアokyuu.comを運営している藤原と申します。
突然ですが 本blog
タイトル:IT備忘録~Administratorへの道~
URL:http://nofx2.txt-nifty.com/it/
を okyuu.com 上のOS/Windowsカテゴリhttp://okyuu.com/ja/category/OS/Windowsのオススメblogとして
掲載させていただけないでしょうか?
okyuu.comを、なにとぞよろしくお願いいたします。
Posted by: Fumikazu FUJIWARA | Sep 02, 2008 at 14:53
okyuu.com 藤原様
コメント記入ありがとうございます。
> okyuu.com 上のOS/Windowsカテゴリhttp:
> //okyuu.com/ja/category/OS/Windowsのオスス
> メblogとして掲載させていただけないでしょうか?
お目にかけていただき誠に光栄です。全く問題ありません。
取り急ぎ、登録手続きなどこちらで行う作業はありますでしょうか。
今後もよろしくお願いいたします。
Posted by: NOFX2 | Sep 03, 2008 at 00:29
NOFX2 様
御世話になっております。okyuu.com 藤原です。
> 取り急ぎ、登録手続きなどこちらで行う作業はありますでしょうか。
いえ 特にはございません。
ご快諾いただき誠にありがとうございます!
http://okyuu.com/ja/category/OS/Windows
に掲載させていただきました。
ありがとうございました。
Posted by: Fumikazu FUJIWARA | Sep 03, 2008 at 16:32