2013-10-12 37 views
0

我在Excel(2010)中遇到了一些SUMIFS函数的问题。我想每周计算一次我的小时数,所以我需要一个SUMIF。这是一个例子:在SUMIFS范围应用函数

example excel

在F5(和整体柱F)是这样的功能:

=IF(OR(A6="",WEEKNUM(A6,2)<>WEEKNUM(A5,2)),SUMIFS(E$2:E6,G$2:G6,"="&G5),"") 

在每个星期的端求和基于E的所有值。

我想摆脱现在我需要的额外列G,并使用WEEKNUM函数代替。然后F5的功能看起来像这样

=IF(OR(A6="",WEEKNUM(A6,2)<>WEEKNUM(A5,2)),SUMIFS(E$2:E6,WEEKNUM(A$2:A6),"="&WEEKNUM(A5)),"") 

但这个例子不起作用。

任何想法?

+1

你有没有想过使用数据透视表? –

回答

1

您不能使用任何函数来修改SUMIFS中的范围.....并且我也会说WEEKNUM对此不是最好的,因为您可能会在几年之间产生混淆;并且在开始/结束时也可能不会有7天(因为无论如何WEEKNUM的工作原理,根据第1周始于1月1日)。您可以更轻松地使用WEEKDAY函数,例如在F5

=IF(OR(A6="",A5-WEEKDAY(A5,3)<>A6-WEEKDAY(A6,3)),SUMIFS(E$2:E5,A$2:A5,">="&A5-WEEKDAY(A5,3)),"")

使用WEEKDAY找到了前一周的周一,总结什么,是基于对上周的 - 所以这将工作,即使通过DEC /月