SUM(IF) 仅在数组中找到第一个值,有时
SUM(IF) only finds first value in an array, sometimes
我有一个 excel spreadsheet 2 sheets,sheet1 是从共享点时间 sheet 系统导出的, sheet2 用于报告目的,主要显示按周细分的时间。
我需要一个计算小时值 (sheet1!G:G
) 的公式,其中 sheet1 中的周开始日期列(sheet1!AI:AI
,使用 =D2-WEEKDAY(D2-1)
计算)匹配sheet2(第 3 行)中的周开始行。
到目前为止,我已经尝试过 SUMIF、SUMPRODUCT 和现在的 SUM(IF) 公式,但都遇到了同样的问题,它们要么没有找到 SUM 的值(肯定存在的值),要么只会对数组中的第一个值。例如,对于从“12/06/2016”开始的一周,我应该总共有 336 小时,但目前它只能在列表中找到第一个值 14。到目前为止,我尝试使用的不同公式如下:
{=SUM(IF(sheet1!$AI:$AI0=CB,sheet1!$G:$G0,0))}
=SUMIF(sheet1!AI:AJ0, CB, sheet1!G:G0)
=SUMPRODUCT( -- (sheet1!$AI:$AI0 = CB), sheet1!$G:$G0)
所有公式都有相同的问题,并为 sheet 2 中的每一列生成相同的值,这让我怀疑这与我的周开始有关 calculation/array 但我无法解决是什么原因造成的。当前产生的值低于预期值的示例:
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
您在 sheet 上的日期列包括日期和时间部分。
一个解决方法:将您的周起始公式更改为:
=INT(A2-WEEKDAY(A2-1))
Excel 将日期存储为整数,其中 1 = 1 Jan 1900。时间存储为一天的小数部分。因此,例如,您在 Sheet1!A2 中的第一个条目实际上是:
6/6/2016 10:27:37 AM
存储为
42527.4358449074
通过删除小数部分,您可以在 sheet2 上匹配您的周开始数据并获得所需的结果。
您的 SUMIF
和 SUMPRODUCT
功能现在也将正常工作。
我有一个 excel spreadsheet 2 sheets,sheet1 是从共享点时间 sheet 系统导出的, sheet2 用于报告目的,主要显示按周细分的时间。
我需要一个计算小时值 (sheet1!G:G
) 的公式,其中 sheet1 中的周开始日期列(sheet1!AI:AI
,使用 =D2-WEEKDAY(D2-1)
计算)匹配sheet2(第 3 行)中的周开始行。
到目前为止,我已经尝试过 SUMIF、SUMPRODUCT 和现在的 SUM(IF) 公式,但都遇到了同样的问题,它们要么没有找到 SUM 的值(肯定存在的值),要么只会对数组中的第一个值。例如,对于从“12/06/2016”开始的一周,我应该总共有 336 小时,但目前它只能在列表中找到第一个值 14。到目前为止,我尝试使用的不同公式如下:
{=SUM(IF(sheet1!$AI:$AI0=CB,sheet1!$G:$G0,0))}
=SUMIF(sheet1!AI:AJ0, CB, sheet1!G:G0)
=SUMPRODUCT( -- (sheet1!$AI:$AI0 = CB), sheet1!$G:$G0)
所有公式都有相同的问题,并为 sheet 2 中的每一列生成相同的值,这让我怀疑这与我的周开始有关 calculation/array 但我无法解决是什么原因造成的。当前产生的值低于预期值的示例:
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
您在 sheet 上的日期列包括日期和时间部分。
一个解决方法:将您的周起始公式更改为:
=INT(A2-WEEKDAY(A2-1))
Excel 将日期存储为整数,其中 1 = 1 Jan 1900。时间存储为一天的小数部分。因此,例如,您在 Sheet1!A2 中的第一个条目实际上是:
6/6/2016 10:27:37 AM
存储为
42527.4358449074
通过删除小数部分,您可以在 sheet2 上匹配您的周开始数据并获得所需的结果。
您的 SUMIF
和 SUMPRODUCT
功能现在也将正常工作。