我正在尝试找出使用哪个公式来对某个时间段和日期内的值进行求和。我有以下数据:
A B C
Jan 1, 2011 8:00 AM 10
Jan 1, 2011 10:00 PM 15
jan 2, 2011 8:30 AM 20
Jan 2, 2011 9:00 AM 15
Jan 3, 2011 8:25 AM 11
Jan 3, 2011 9:00 PM 10
我需要添加 C 列中与特定日期和时间间隔相对应的所有值,例如Jan 1, 2011 9:00 AM to Jan 3, 9:00 AM
。我该怎么做?
答案1
您需要使用SUMPRODUCT
而不是,SUMIF
因为您需要满足总和的多个标准/条件。
假设列中的值A是日期而不是字符串,这是您需要的公式:
=SUMPRODUCT((dates+times>=start_date+start_time)*values_to_add)-SUMPRODUCT((dates+times>end_date+end_time)*values_to_add)
以下是它的实际运行情况,使用您提供的数据范围作为示例:
如果合并列A&乙,你只需要一个比我之前提到的更短的公式。你也可以使用 Excel 的高级过滤工具,然后获取已过滤单元格的小计。
答案2
您可以在 c 列末尾添加一个小计单元格,然后根据数据创建一个表格,并仅使用所需的日期进行过滤。=sumif() 可能更快,但最终可能不太灵活。
答案3
这将在没有数组公式的情况下工作,让 I1 成为较早的日期,让 J1 成为较晚的日期:
=SUMPRODUCT((A1:A6+B1:B6 >= I1)*(A1:A6+B1:B6 <= J1)*C1:C6)
如果您想使用数组公式,那么您只需使用 SUM 即可:
{=SUM(IF((A1:A6+B1:B6 >= I1)*(A1:A6+B1:B6 <= J1),C1:C6,0))}
但如果不需要的话我永远不会使用数组。