web-dev-qa-db-ja.com

日付が週末であるかどうかを判断する方法は?

入力として日付を指定した場合、その日が週末かどうかをどのように判断できますか?

22
JR.

引数として日付を取り、日を返すWeekday関数があります(1、2、3など)。

戻り値は次のとおりです。

vbSunday (1)  
vbMonday (2)  
vbTuesday (3)  
vbWednesday (4)  
vbThursday (5)  
vbFriday (6)  
vbSaturday (7)  

週末が土曜日と日曜日であるとすると、関数は次のようになります。

Public Function IsWeekend(InputDate As Date) As Boolean
    Select Case Weekday(InputDate)
        Case vbSaturday, vbSunday
            IsWeekend = True
        Case Else
            IsWeekend = False
    End Select
End Function
37

これは、週末にMyDateが該当するかどうかを判断する最も直接的な方法です。

MsgBox Weekday(MyDate, vbMonday) > 5

Weekday()関数にはオプションの2番目のパラメーターがあり、週の開始曜日を指定します。 Weekday()関数は、1から7までの整数を返します。

私は月曜日に週を開始するように指示したので、土曜日は6、日曜日は7になります。

11
Excel Hero

または、これを使用できます。

OR(MOD(WEEKDAY(cell), 7)=0, MOD(WEEKDAY(cell), 7)=1)

または

MOD(WEEKDAY(cell), 7) < 2

式として。

1は日曜日、0は土曜日なので

6
user500074

日付を曜日に変換する式

Selection.FormulaR1C1 = "= TEXT(WEEKDAY(R7C" + CStr(i)+ "、1)、" "ddd" ")"

これは帰ります

例:-入力が2013年5月2日の場合、Thu->(木曜日)を返します。ここで、変数iは別の列を表します。

2
sakthi