'指定された期間の曜日の回数を計算する関数 '使用例 '1998/3/20から1998/5/9の間の土曜日の数を計算します。 'iWeekdayには1(日曜)から7(土曜)の曜日を示す数を指定します。 ' A B C D ' 1 1998/3/20 1998/5/9 7 =Weekdays(A1,B1,C1) 'この関数は以下の数式と同じ機能です。 '=INT((B1-A1+1)/7)+IF(MOD((B1-A1+1),7)>MOD(C1+7-WEEKDAY(A1),7),1,0) Option Explicit Function Weekdays(dateStart As Date, dateEnd As Date, _ iWeekday As Integer) As Long Dim iDays As Long iDays = dateEnd - dateStart + 1 If iDays <= 0 Then Weekdays = 0 Else If (iDays Mod 7) > ((iWeekday + 7 - WeekDay(dateStart)) Mod 7) Then Weekdays = (iDays) \ 7 + 1 Else Weekdays = (iDays) \ 7 End If End If End Function