如何求解 Excel sumproduct 公式以从工作日期获取周数
How do I solve the Excel sumproduct formula to get weeknumbers from dates working
一个Excel问题。
我得到一个 table,其中包含一列日期和一个包含值的计算列。在摘要单元格中,我确实有
=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 错误。
如果我使用 WeekNumber(AnEmptyCell) 作为测试,它只是 returns 一个零,没有错误值。
F9 关键结果 -
Tijd[Datum(s)] - all the dates and zero's when no date.
(WEEKNUMMER(Tijd[Datum(s)]) - #Value error
其他部分都还可以
基准列中的所有字段都是日期字段。
我哪里错了,如何解决?
是吗:
WeekNummer() or:
WeekNumber() or:
WeekNum()?
(函数名称取决于语言环境)
有两种类型的 Excel 公式函数:可以与数组一起使用的和不能与数组一起使用的。 MONTH
是第一种,WEEKNUM
是第二种。要测试它,将两个任意日期输入 A1:A2,然后将 =MONTH(A1:A2)
输入 B1:B2(Select 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]) )
一个Excel问题。
我得到一个 table,其中包含一列日期和一个包含值的计算列。在摘要单元格中,我确实有
=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 错误。 如果我使用 WeekNumber(AnEmptyCell) 作为测试,它只是 returns 一个零,没有错误值。
F9 关键结果 -
Tijd[Datum(s)] - all the dates and zero's when no date.
(WEEKNUMMER(Tijd[Datum(s)]) - #Value error
其他部分都还可以
基准列中的所有字段都是日期字段。
我哪里错了,如何解决?
是吗:
WeekNummer() or:
WeekNumber() or:
WeekNum()?
(函数名称取决于语言环境)
有两种类型的 Excel 公式函数:可以与数组一起使用的和不能与数组一起使用的。 MONTH
是第一种,WEEKNUM
是第二种。要测试它,将两个任意日期输入 A1:A2,然后将 =MONTH(A1:A2)
输入 B1:B2(Select 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]) )