gpt4 book ai didi

arrays - SUM(IF) 有时只能查找数组中的第一个值

转载 作者:行者123 更新时间:2023-12-03 03:47:04 24 4
gpt4 key购买 nike

我有一个包含 2 个工作表的 Excel 电子表格,sheet1 是从 sharepoint 时间表系统导出的,sheet2 用于报告目的,主要显示每周的时间细目。

我需要一个公式,对工作表 1 中的周开始日期列 (sheet1!AI:AI) 中的小时值 (sheet1!G:G) 求和,计算方法为=D2-WEEKDAY(D2-1)) 与 Sheet2 中的周起始行(第 3 行)匹配。

到目前为止,我已经尝试过 SUMIF、SUMPRODUCT 和现在的 SUM(IF) 公式,但都遇到相同的问题,它们要么找不到 SUM 值(肯定存在的值),要么只会对第一个值求和在数组中。例如,对于从“12/06/2016”开始的一周,我总共应该有 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

最佳答案

第一张表上的日期列包含日期和时间部分。

一个修复:将您的一周开始公式更改为:

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

Excel 将日期存储为整数,其中 1 = 1900 年 1 月 1 日。时间存储为一天的分数。因此,例如,Sheet1!A2 中的第一个条目实际上是:

6/6/2016 10:27:37 AM

存储为

42527.4358449074

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

enter image description here

您的 SUMIFSUMPRODUCT 函数现在也可以正常工作。

关于arrays - SUM(IF) 有时只能查找数组中的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38565691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com