【问题标题】:`WEEKDAY` function gives the wrong value?`WEEKDAY` 函数给出了错误的值?
【发布时间】:2013-10-29 20:14:44
【问题描述】:

我在伦敦 GMT 时区。

如果我插入我的 excel:

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

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

但是,这里是错误的:

29.12.2006

为什么这个错误是excel?

感谢你的回答!!!

【问题讨论】:

  • 额,你还没显示结果是什么……
  • @JonSkeet 请看我的更新!
  • 日期没有时区。你确定它甚至正确地解释了你的日期吗?
  • Excel 工作,您只是错误地解释了这些值。
  • @pnuts:如果完全缺乏研究,那么我理解,但正如超链接所示,OP 试图自己解决。但无论如何,我们都有权发表自己的意见......

标签: excel time vba


【解决方案1】:

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

来自documentation

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

所以 6 号是星期五。

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

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

WEEKDAY(F20, 2)

(再次,请参阅文档。)

【讨论】:

  • Excel 论坛中的 Wow Jon :p + 1 是的,这完全是关于 ReturnType
  • @user5414:这就是为什么当某些事情没有按照您的预期运行时,您应该始终做的第一件事就是查阅文档 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-22
  • 1970-01-01
  • 2023-02-02
  • 2018-11-30
  • 1970-01-01
相关资源
最近更新 更多