使用WEEKNUM的Excel SUMPRODUCT函数
嗨,我有一些相当大的工作表,详细说明电话状态,收入等,我可以直接从我的软件供应商下载。 相关的是这个专栏
COMPLETED 1/1/2017 00:00 1/1/2017 02:30 etc
我试图通过图表的目的来计算这个数字,所以我创build了一个单独的电子表格,我可以过滤多年的数据并在图表中显示。
我创build了一个表格,例如:
WeekNumber | Count | Revenue
我正在尝试使用这个公式计数,但它使用的标题单元格给我#VALUE。 如果我可以跳过标题单元格我相信它会工作,但我尝试的每一个变化都失败了。
=SUMPRODUCT(--('2017Q1'!J:J>0)*(WEEKNUM('2017Q1'!J:J+0)=A3))
WEEKNUM不能用于数组中。 但是你可以用一个自定义函数实现这个,这里是代码:
Function WeekNum2(dates As Variant) As Variant() Dim weeks() As Variant ReDim weeks(dates.Cells.Count - 1, 0) Dim i As Long For i = 0 To dates.Cells.Count - 1 weeks(i, 0) = Application.WorksheetFunction.WeekNum(dates.Cells(i + 1).Value) Next i WeekNum2 = weeks End Function
然后在你的公式中,使用WeekNum2
而不是WEEKNUM
。
此外,请跳过标题,因为它会弄乱公式,因为它只接受数字。 此外,不build议使用整个色谱柱,因为SUMPRODUCT
会降低您的速度。 也许使用一个范围,而不是让你的生活更轻松。