`WEEKDAY`函数给出了错误的值?

时间:2013-10-29 20:14:45

标签: excel excel-vba time vba

我在伦敦GMT时区。

如果我插入我的Excel:

=IF(OR(WEEKDAY(F20)=6;WEEKDAY(F20)=7);TRUE;FALSE)

enter image description here

我退回TRUE这显然是错误的,因为我的时区是Friday

然而,这是错误的,请看:

29.12.2006

为什么这个错误很好?

感谢您的回答!

1 个答案:

答案 0 :(得分:9)

WEEKDAY(F20)将是6 - 这是星期五。

来自documentation

  

默认情况下,日期以整数形式给出,范围从1(星期日)到7(星期六)。

所以6是星期五。

看起来你应该检查WEEKDAY(F20)是1还是7,如果你想知道这是否是一个周末。

如果想要使用星期一(1) - 星期日(7),则需要将第二个值2传递给函数:

WEEKDAY(F20, 2)

(再次参见文档。)