さて祝日の判定ですが、
これについては表を作る方法が一番でしょう。・・・っていうか、
それしかないでしょう?
自分で祝日の埋め込み関数でも作るなら別ですが・・・。
そこで、
◆こんな時
日にちから祝日を知りたい!
◆解決ポイント
祝日の表を作成し関数で照合します。
◆解決策
先ず下図のように表(テーブル)を作成して名前「祝日」を定義します。
おっと、来年は土曜日と重なる祝日が4日もある!ちょっと悲しい。
参考に、Weekdayの見出し列には関数=WEEKDAY(A3,2)~WEEKDAY(A19,2)を入力しています。(月曜日基準=1)
次に、例えばセルA20に年月日を入力して、セルA21に式=VLOOKUP(A20,祝日,2,FALSE)を入力すると上図のテーブル「祝日」を参照して祝日かを判定できます。
・曜日が表示されたら祝日。
・エラー(#N/A)の場合は祝日ではない。
となりますが、判定でエラー表示は見逃せないのでIFERROR関数で対策します。
=IFERROR(VLOOKUP(A20,祝日,2,FALSE),"")・・・祝日以外は空白などとしましょう。
*IFERROR関数はExcel2007以降で使えます。
曜日名でなく名称を表示する場合は、
=VLOOKUP(A20,祝日,3,FALSE)とします。
また数値で判定したい場合は、
曜日欄にWeekdayの見出し列の関数を設定すればOKです。
◆「StiLL」ボタン機能の説明
前回同様、「StiLL」ボタンの機能で例えば受注明細の納品予定日の祝日を判断するのに、明細各行に上記の関数を設定する手間が省けます。また結果の名称を文字に置き換えてセルに設定することもできます。手間がかかりません。
以上で祝日の判定も出来ましたね。
え?「毎年カレンダーから直接表に入力しないで済ませたい。」ですって?
自動設定させたいということですか、横着ですねえ・・・。
年に1回の保守なので確認も含めて入力することが望ましいと思いますが、それでは次回に考え方を書いてみたいと思います。
また来週。
PR