如何解决Excel sumproduct公式以从日期工作中获取周数

问题描述 投票:1回答:2

一个Excel问题。

我有一个表格,其中包含一列日期和一个带有值的计算列。在我有的摘要单元格中

  =SOMPRODUCT( (MONTH(Tijd[Datum(s)])=MONTH(TODAY()) )* (Tijd[Uren gewerkt in decimalen]) )

当然是完美的。但是,使用相同的列并计算基于每周的摘要,我得到错误

  =SOMPRODUCT( (WEEKNUMBER(Tijd[Datum(s)])=WEEKNUMBER(TODAY()) ) * (Tijd[Uren gewerkt in decimalen]) )

这给了我一个#Value错误。如果我使用周数(AnEmptyCell)作为测试,它只返回零,没有错误的值。

F9关键成果 -

Tijd[Datum(s)] - all the dates and zero's when no date.

(WEEKNUMMER(Tijd[Datum(s)]) - #Value error

所有其他部分也没关系。

“基准”列中的所有字段都是日期字段。

我错了怎么解决这个问题?

excel sumproduct
2个回答
0
投票

Excel公式函数有两种类型:可以与数组一起使用的那些和不可以使用的那些。 MONTH属于第一类,WEEKNUM属于第二类。要测试它,将两个任意日期放入A1:A2,并将=MONTH(A1:A2)输入B1:B2(选择B1:B2,然后按Ctrl + Shift + Enter),并将=WEEKNUM(A1:A2)输入C1:C2。第一个将显示有效值,但第二个将显示两个#VALUE!错误。

如果你在上面的设置中使用公式,我建议,检查日期是在星期一之后和给定星期日之前。

我无法访问带有荷兰语(?)语言环境的Excel,因此我添加了要在公式中插入的函数的英文名称:

  =SOMPRODUCT( ( TODAY()-WEEKDAY(TODAY(),2)+1 <= Tijd[Datum(s)] ) * ( Tijd[Datum(s)] < TODAY()-WEEKDAY(TODAY(),2)+7 ) * (Tijd[Uren gewerkt in decimalen]) )

0
投票

是吗:

WeekNummer() or:
WeekNumber() or:
WeekNum()?

(函数的名称取决于语言环境)

© www.soinside.com 2019 - 2024. All rights reserved.