如何在Google Sheet中用SUMIFS结合OR逻辑匹配产品ID列表并按日期过滤求和?
Google Sheets 多条件求和实现方案
针对你需要的按特定日期过滤+匹配指定产品ID列表+求和需求,提供两种直接可用的公式方案:
方案1:SUMPRODUCT函数(灵活适配多场景)
假设:
- 日期列 = A列
- 产品ID列 = B列
- 要求和的数值列 = C列
- 目标日期 =
2024-05-20(推荐用DATE(2024,5,20)生成日期,避免格式不兼容问题) - 指定产品ID列表 =
{"ID001","ID003","ID005"}(可替换为单元格区域,如D1:D3)
公式:
=SUMPRODUCT((A:A=DATE(2024,5,20))*(ISNUMBER(MATCH(B:B,{"ID001","ID003","ID005"},0)))*C:C)
公式逻辑:
(A:A=DATE(2024,5,20)):判断每行日期是否匹配目标日期,符合条件返回1,否则返回0ISNUMBER(MATCH(B:B,{"ID001","ID003","ID005"},0)):判断产品ID是否在指定列表内,符合条件返回1,否则返回0- 两个条件相乘后,再乘以对应行的数值,最后SUMPRODUCT对所有符合条件的数值求和
方案2:SUMIFS+SUM组合(简洁直观)
公式:
=SUM(SUMIFS(C:C,A:A,DATE(2024,5,20),B:B,{"ID001","ID003","ID005"}))
公式逻辑:
- SUMIFS针对每个指定的产品ID,分别计算符合日期条件的求和结果,返回一个数组
- 外层SUM将数组中的所有结果相加,得到最终总和
注意事项
- 日期格式统一:优先使用
DATE(year,month,day)函数生成日期,避免因文本格式不匹配导致过滤失败 - 提升计算效率:若数据量较大,将公式中的整列引用(如
A:A)替换为具体数据范围(如A2:A1000) - 动态ID列表:若产品ID列表存储在单元格区域(如D1:D3),直接将公式中的
{"ID001","ID003","ID005"}替换为D1:D3即可
内容的提问来源于stack exchange,提问作者Daniel L.
相关产品推荐
相关产品推荐

