管理

SUMIFS按月份和类别求和:避免漏掉最后一天的日期条件

本文在AI辅助下由原文翻译而成。请结合原文核对专业术语和公式。

只合计10月的Books记录,需要同时检查日期范围与类别。SUMIFS把满足多项条件的行相加。用四行练习数据先手工验算,再设置能够包含月末时间记录的边界。

示例中,Books类别且属于10月的两行合计20+15=35。
图 1. 示例中,Books类别且属于10月的两行合计20+15=35。

首先指定求和范围

A1是Date,B1是Category,C1是Amount。A列输入真实Excel日期,不要仅输入看起来像日期的文本;第一行可用DATE(2026,10,5)创建。下表是虚构练习数据。

行A: DateB: CategoryC: Amount
22026-10-05Books20
32026-10-08Food12
42026-11-01Books30
52026-10-20Books15
=SUMIFS($C$2:$C$5,$B$2:$B$5,"Books",$A$2:$A$5,">="&DATE(2026,10,1),$A$2:$A$5,"<"&DATE(2026,11,1))

结果为35,第2行的20加第5行的15。Food不满足类别,11月1日不满足日期。SUMIFS第一个参数是求和范围,与SUMIF参数顺序不同,不能不核对就扩展旧公式。

用小于下月开始,而不是月底零点

“小于等于10月31日”看起来直观,但如果记录包含下午时间,以31日零点为边界会漏掉当天后续记录。“大于等于10月1日,小于11月1日”可以包含最后一天全部时间。

Excel用序列值表示日期,以一天的小数部分表示时间。改变文本的显示格式,不会自动生成真实日期。转换前应检查类型,并理解来源日期约定和区域设置。

采用起始日包含、下一周期起始日不包含的条件,可覆盖最后一天的时间值。
图 2. 采用起始日包含、下一周期起始日不包含的条件,可覆盖最后一天的时间值。

把报告条件放入单元格

E2输入真实开始日期,F2输入下一期间开始日期,G2输入Books,可使用:

=SUMIFS($C$2:$C$5,$B$2:$B$5,$G$2,$A$2:$A$5,">="&$E$2,$A$2:$A$5,"<"&$F$2)

之后核对三个条件单元格,比修改公式多个片段更清楚。报告标题也应与条件一致。增加记录时同步扩展全部范围,或使用Excel表格管理。范围外的新行会让结果看似合理却不完整。

出现0或异常合计时按顺序检查

  1. 按同样条件筛选并查看对应行。
  2. 示例手算20+15=35。
  3. 检查日期与金额是否为数值,类别是否有多余空格。
  4. 核对各范围的开始、结束行一致。
  5. 测试月边界及最后一天含时间的记录。

SUMIFS不是只对可见行求和的功能,不会自动排除隐藏行。不要把画面筛选与公式条件混为一谈。Microsoft资料列出Excel 2016、2019、2021、2024、Microsoft 365等支持版本。区域设置可能改变参数分隔符,但条件含义相同。

官方资料:SUMIFS、日期与时间函数、日期时间序列表示。结果通过两条纳入记录的手工加总核验。

相关实用文章

为帮助理解本文而制作的原创插画。