2013-10-29 45 views
2

我在伦敦格林尼治标准时间时区。`WEEKDAY`函数给出了错误的值?

如果我插到我的excel:

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

enter image description here

我得到TRUE回来,这显然是错误的,因为它是在我的时区中的Friday

然而,这是错误的在这里看到:

29.12.2006

为什么这个错误是练成?

我很感谢您的回答!

+1

嗯,你没有显示结果是什么... –

+0

@JonSkeet请看我的更新! – mrquad

+1

日期不包含*时区。你确定它甚至能正确解释你的日期吗? –

回答

8

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

documentation

一天被给定为一个整数,范围从1(星期日)到7(星期六),默认情况。

所以6是星期五。

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

如果使用星期一(1) - 周日(7),你需要在2到功能的第二值传递:

WEEKDAY(F20, 2) 

(同样,请参阅文档)。

+0

OMG,抱歉,它认为它从星期一开始,依此类推。优秀的答案! – mrquad

+1

Wow Jon在Excel论坛:p + 1是所有关于'ReturnType'的。 –

+1

@Sid - 不是那么多[excel]我怀疑是[时间]! – pnuts