An UDF to calculate weekday It seems feasible . Function myweekday(ByVal y As Long, ByVal m As Long, ByVal d As Long) As Long Dim bias As Long If m > 2 Then bias = m - 2 Else bias = 10 + m y = y - 1 End If myweekday = (d + (13 * bias - 1) / 5 + (y Mod 100) + (y Mod 100) / 4 + (y / 100) / 4 - 2 * (y / 100)) Mod 7 + 1 End Function