SUM(IF)有时仅在数组中find第一个值

我有一张excel电子表格,里面有2张,sheet1是从sharepoint时间表系统导出的,sheet2是用来报告的,主要是按星期显示时间的细分。

我需要一个公式,其中sheet1( sheet1!AI:AI ,使用=D2-WEEKDAY(D2-1)计算)中的星期开始date列与sheet2中的开始行的星期匹配(第3行)。

到目前为止,我已经尝试了SUMIF,SUMPRODUCT,现在有一个SUM(IF)公式,并且都有相同的问题,它们要么找不到SUM的值(肯定存在的值),要么只会SUM数组中的第一个值。 例如,对于星期启动“2016年6月12日”,我应该总共有336小时,但目前它只发现列表中的第一个值,14。到目前为止,我尝试使用的不同公式是如下:

{=SUM(IF(sheet1!$AI$2:$AI$300=CB$3,sheet1!$G$2:$G$300,0))}

=SUMIF(sheet1!AI$2:AJ$300, CB$3, sheet1!G$2:G$300)

=SUMPRODUCT( -- (sheet1!$AI$2:$AI$300 = CB$3), sheet1!$G$2:$G$300)

所有的公式都有相同的问题,并为表2中的每一列产生相同的值,这让我怀疑这是与我的星期计算/数组有关的事情,但我无法弄清楚是什么导致了它。 当前产生的值和下面的期望值的例子:

  05/06/2016 12/06/2016 19/06/2016 26/06/2016 0.00 14.00 0.00 11.00 05/06/2016 12/06/2016 19/06/2016 26/06/2016 82.85 336.00 297.75 307.25 

包含数据和公式的示例文件 – https://www.dropbox.com/s/5c2c5tyl993vxyt/SUMIF%20Example.xlsx?dl=0

表1中的date列包括date和时间组件。

一个解决方法:将您的一周开始公式更改为:

 =INT(A2-WEEKDAY(A2-1)) 

Excel将date存储为1900年1月1日的整数。时间存储为一天的小数部分。 所以,例如,您在Sheet1!A2中的第一个input实际上是:

6/6/2016 10:27:37 AM

存储为

42527.4358449074

通过删除小数部分,您可以匹配您的一周在sheet2上开始数据,并获得所需的结果。

在这里输入图像说明

您的SUMIFSUMPRODUCTfunction也将正常工作。