无需辅助列,如何用SUMIFS对日期列按年份求和?
无辅助列实现按日期年份求和的可行方案
可行,这里给你两种实用解决办法:
方案一:用SUMPRODUCT直接计算
公式:=SUMPRODUCT((YEAR(A:A)=2023)*B:B)
逻辑:YEAR(A:A)=2023会生成一组TRUE/FALSE的布尔数组,和B列数值相乘后,SUMPRODUCT会自动对符合条件的数值求和。如果数据量较大,建议把A:A换成具体的单元格范围(比如A2:A1000),减少不必要的空单元格计算。方案二:用SUMIFS配合日期范围(更高效)
公式:=SUMIFS(B:B,A:A,">=2023-1-1",A:A,"<=2023-12-31")
逻辑:直接用日期范围限定2023年的所有日期,避开提取年份的操作,SUMIFS本身支持这种多条件匹配,数据量大时计算速度比SUMPRODUCT更快。
你原来的公式为什么无效?
SUMIFS的条件区域参数必须是单元格区域的直接引用,不能是YEAR(A:A)这种经过函数计算后的数组结果,所以直接使用会返回错误值。
内容的提问来源于stack exchange,提问作者Joseph Erickson
相关产品推荐
相关产品推荐

