Skip to content

Excel 条件判断、计数与汇总 ​

本篇使用命名为 Sales 的八条订单,H 列为金额。所有公式放在数据表之外,例如 汇总 工作表,避免在金额列中引用整列自身形成循环引用。

图示跟练算清十月已完成订单的金额

点击步骤切换图示,再到 Office 中跟做;每一步都可跳到下方详细说明。

Excel练习文件 · 界面示意
③ 加号操作 / 设置示意

表名:汇总

原始表:Sales

详细输入与检查见本步正文 ↓
简化示意,非软件截图。以 Windows 中文界面为主,实际按钮位置与功能取决于版本;可在应用搜索框查找命令。

判断与组合条件 ​

在订单旁增加“处理提示”列,可以写:

text
=IF([@状态]="已完成","归档","跟进")
=IF(AND([@状态]="已完成",[@金额]>=500),"重点复核","普通")

第一式把取消和待处理都归入“跟进”,未必符合真实流程。更明确的写法是先判断已取消,再判断已完成,剩余为待处理。嵌套超过几层时,考虑用单独的状态映射表,让规则可见而不是埋在长公式里。

AND 要求条件同时满足,OR 要求至少一个满足。比较字符串时注意前后空格和不同写法,“已完成”和“完成”不会自动被当成同一个状态。

单条件与多条件汇总 ​

text
=SUM(Sales[金额])
=SUMIF(Sales[部门],"运营",Sales[金额])
=SUMIFS(Sales[金额],Sales[状态],"已完成")
=COUNTIFS(Sales[状态],"已完成")
=AVERAGEIF(Sales[状态],"已完成",Sales[金额])

结果分别为 5120、2440、4060、6、约 676.67。最后一个值是已完成订单的平均金额,不是平均单价。改变指标名称而不改变公式,会产生“公式正确、业务结论错误”的问题。

SUMIF 的求和区域通常是第三个参数,SUMIFS 的求和区域是第一个参数,初学时很容易写反。所有条件区域与求和区域的行数必须一致。需要让条件可修改时,把“运营”等条件放在一个参数单元格,再引用该单元格。

按完整月份统计 ​

统计 2026 年 10 月已完成金额:

text
=SUMIFS(Sales[金额],Sales[状态],"已完成",Sales[日期],">="&DATE(2026,10,1),Sales[日期],"<"&DATE(2026,11,1))

结果为 3160。使用“本月第一天及以后、下月第一天之前”可以包含本月最后一天的时间值。若写成小于等于 2026-10-31 的零点,带时分秒的 10 月 31 日白天记录可能被漏掉。

日期列必须是真实日期/时间值,格式看起来像日期的文本不一定能参与正确比较。用 ISNUMBER 检查练习日期,返回 FALSE 时先修复数据类型。

筛选后的统计 ​

普通 SUM 不会因为筛选隐藏行而自动只计算可见记录。需要随筛选变化的金额合计时,在表外输入:

text
=SUBTOTAL(109,Sales[金额])

筛选“状态 = 已完成”后应为 4060。109 表示求和并忽略手工隐藏的行,9 也会排除筛选隐藏行,但对手工隐藏行的处理不同。它仍然是在当前表的可见记录上计算,不自动实现“业务已完成”等规则。

常见陷阱 ​

COUNT 统计数值单元格,COUNTA 统计非空内容,不能随意互换。条件中的 * 和 ? 可作为通配符,若要匹配字面星号需了解转义。平均值要明确分母,平均订单金额与按数量加权的平均单价不同;本数据全部金额除以全部数量为 5120/20=256,这也包含未完成订单。

练习与验收 ​

计算技术部门已完成金额,答案是 1620;只取 10 月则为 720。筛选运营部门后,SUBTOTAL 应为 2440,而普通全表 SUM 仍为 5120。解释这些数为什么不同,再进入数据透视表用另一种方式核对。

图示跟做:算清十月已完成订单的金额 ​

按上方图示切换三个关键步骤;下面保留完整操作和检查结果,便于跟做与回查。请先使用练习副本。

第 1 步:先把口径写到汇总表 ​

定位:工作表标签 → 加号。

在工作簿底部点击加号新建汇总表,写明“状态为已完成;日期从 2026-10-01 起,到 2026-11-01 之前”。保留原明细不做删除。确认 Sales 包含金额列,日期可用 ISNUMBER 检查为数值,避免把看起来像日期的文字直接拿来比较。

第 2 步:输入条件并核对边界 ​

定位:公式 → 插入函数。

在汇总空白格输入本篇按完整月份统计的 SUMIFS 公式,金额区域放第一个参数,状态和日期条件逐对配对。结果应为 3160。再单独统计全部已完成金额,应为 4060;相差 900 正好是 11 月的 O008,能解释差值才算核对通过。

第 3 步:区分业务条件与界面筛选 ​

定位:数据 → 筛选。

到明细表筛选运营部门,在表外使用 =SUBTOTAL(109,Sales[金额]),结果为 2440。此时普通 =SUM(Sales[金额]) 仍为 5120,原来的十月已完成 SUMIFS 也不会自动因为部门筛选而改变。若希望按部门统计,应把部门写进条件,而不是只操作筛选菜单。

没有得到预期结果时 ​

先判断是范围错、数据类型错还是业务口径错。把错误统一包成 IFERROR(...,0) 会把未修复的数据问题伪装成零金额,汇总前应保留并处理异常。

继续阅读