Excelでカレンダーを作成する際、土曜と祝日のみを表示したい場合があります。関数やマクロを利用して自動的に土曜と祝日のみを抽出して表示する方法について解説します。
1. カレンダー用の基本データの準備
A列に日付、B列に曜日、C列に祝日情報を入力します。祝日は別シートにリスト化しておくと便利です。
2. 曜日を判定する関数
B列には=WEEKDAY(A2,2)のような関数を使い、1=月曜、7=日曜の数字で曜日を判定します。土曜は6として条件判定に利用します。
3. 祝日判定
C列には=IF(ISNUMBER(MATCH(A2,祝日リスト!$A$1:$A$100,0)),”祝日”,””)のように入力し、日付が祝日リストにある場合に祝日と表示させます。
4. 土曜と祝日のみを表示するマクロ例
以下のVBA例では、開始日から翌年3/31までの範囲で土曜または祝日のみを抽出し、カレンダーシートに出力します。
Sub 土曜祝日カレンダー()
Dim ws As Worksheet, d As Date, i As Long
Set ws = ThisWorkbook.Sheets("カレンダー")
i = 2
d = DateSerial(Year(Date), 4, 1)
Do While d <= DateSerial(Year(Date) + 1, 3, 31)
If Weekday(d, 2) = 6 Or Not IsError(Application.Match(d, Sheets("祝日リスト").Range("A:A"), 0)) Then
ws.Cells(i, 1).Value = d
ws.Cells(i, 2).Value = Format(d, "aaa")
i = i + 1
End If
d = d + 1
Loop
End Sub
5. まとめ
この方法により、土曜と祝日のみが自動で抽出されるカレンダーを作成できます。祝日リストを更新することで、毎年のカレンダーも簡単に作成可能です。


コメント