售后服务
我们是专业的

Day 36-6:SUMIFS函数实战 — 多条件汇总的终极武器

一个让所有人震惊的数据响应速度

2024年9月,区域运营总监在周会上突然提问:

「华东区、A类门店、保养业务,上个月的总收入是多少?」

其他运营专家的反应

  • 专家A:「我需要回去筛选一下数据,下午给您答复。」
  • 专家B:「我用数据透视表做一下,10分钟后告诉您。」
  • 专家C:「这个数据比较复杂,我明天整理好发给您。」

运营专家小陈的反应

  • 打开笔记本,输入一个公式,3秒后回答:「328.5万元。」

总监接着问:「那么,华北区、B类门店、维修业务呢?」

小陈再次输入公式,3秒后:「215.8万元。」

总监连问了5个类似问题,小陈每次都能在5秒内给出精确答案。

会后,总监把小陈叫到办公室:「你这个分析工具做得好,能在全国推广吗?」

小陈说:「这不是工具,就是一个Excel函数——SUMIFS。」


SUMIFS:数据分析中最实用的汇总函数

为什么需要SUMIFS?

在实际工作中,我们经常需要回答这样的问题:

  • 多区域:华东区有多少收入?
  • 多维度:A类门店的保养业务收入是多少?
  • 多条件:华东区+A类门店+保养业务+新客户的收入是多少?

如果用传统方法:

  1. 筛选数据(华东区)
  2. 再筛选(A类门店)
  3. 再筛选(保养业务)
  4. 再筛选(新客户)
  5. 手动求和

一个问题要操作5-10分钟。如果领导连问10个问题,你需要工作1-2小时。

但用SUMIFS函数,一个公式,3秒搞定


SUMIFS函数详解

函数语法

=SUMIFS(求和区域, 条件区域1, 条件1, 条件区域2, 条件2, ...)

参数详解

参数1:求和区域(Sum_range)

  • 要计算总和的数值列
  • 必须是数值类型的单元格区域
  • 示例:E2:E5001(收入列)

参数2:条件区域1(Criteria_range1)

  • 第一个判断条件所在的列
  • 示例:B2:B5001(区域列)

参数3:条件1(Criteria1)

  • 第一个条件的具体内容
  • 可以是文本、数字、单元格引用、比较运算
  • 文本要加双引号:"华东区"
  • 数字直接写:100000
  • 单元格引用:H2
  • 比较运算要加引号:">=100000"

参数4+:条件区域2、条件2、条件区域3、条件3...

  • 可以添加最多127组条件
  • 每组都是一对:条件区域+条件

五大实战场景

场景1:单条件求和

需求:计算华东区的总收入

数据结构

工单号 区域 门店 业务类型 收入
W001 华东区 浦东1店 保养 500
W002 华北区 朝阳1店 维修 1700
W003 华东区 闵行2店 保养 450

公式

=SUMIFS(E:E, B:B, "华东区")

解读

  • E:E:求和区域(收入列)
  • B:B:条件区域(区域列)
  • "华东区":条件内容

意思:在E列(收入)中,找出B列(区域)等于"华东区"的所有行,然后求和。


场景2:双条件求和

需求:计算华东区、A类门店的总收入

公式

=SUMIFS(E:E, B:B, "华东区", C:C, "A类")

解读

  • 第一个条件:B列(区域)= "华东区"
  • 第二个条件:C列(门店等级)= "A类"
  • 同时满足这两个条件的行,对E列(收入)求和

逻辑:这是AND逻辑,必须同时满足所有条件。


场景3:三条件求和

需求:计算华东区、A类门店、保养业务的总收入

公式

=SUMIFS(E:E, B:B, "华东区", C:C, "A类", D:D, "保养")

应用场景

  • 区域运营分析:不同区域、不同等级门店的业务表现
  • 产品分析:哪些产品/服务在哪些区域卖得好
  • 客户分析:不同客群在不同渠道的消费情况

场景4:数值条件(大于、小于)

需求:计算收入大于5000元的工单总收入

公式

=SUMIFS(E:E, E:E, ">5000")

注意

  • 数值比较运算符要加引号:">5000"">=10000""<1000"
  • 不加引号会报错

更复杂的例子:计算华东区、收入大于5000元的工单总收入

=SUMIFS(E:E, B:B, "华东区", E:E, ">5000")

场景5:日期条件

需求:计算2024年1月的总收入

方法1:使用通配符

=SUMIFS(E:E, F:F, "2024-01*")

方法2:使用日期范围

=SUMIFS(E:E, F:F, ">=2024-01-01", F:F, "<=2024-01-31")

方法3:使用DATE函数

=SUMIFS(E:E, F:F, ">="&DATE(2024,1,1), F:F, "<="&DATE(2024,1,31))

动态日期:计算本月的总收入

=SUMIFS(E:E, F:F, ">="&DATE(YEAR(TODAY()),MONTH(TODAY()),1), F:F, "<="&EOMONTH(TODAY(),0))

解释:

  • DATE(YEAR(TODAY()),MONTH(TODAY()),1):本月第一天
  • EOMONTH(TODAY(),0):本月最后一天

SUMIFS的五大高级技巧

技巧1:动态条件(引用单元格)

需求:在查询面板中,用户选择区域,自动计算该区域的收入。

设计

  • 在H2单元格用下拉菜单选择区域(华东区、华北区、华南区...)
  • 在I2单元格用公式自动计算

公式

=SUMIFS(E:E, B:B, H2)

优点

  • 用户改变H2的选择,I2自动更新
  • 不需要每次修改公式
  • 可以制作交互式查询工具

技巧2:多选条件(OR逻辑)

需求:计算华东区或华北区的总收入(而不是华东区且华北区)

问题:SUMIFS是AND逻辑,无法直接实现OR逻辑

解决方案:用加法

=SUMIFS(E:E,B:B,"华东区") + SUMIFS(E:E,B:B,"华北区")

或者用SUMPRODUCT

=SUMPRODUCT((B:B="华东区")+(B:B="华北区"),E:E)

技巧3:排除条件(NOT逻辑)

需求:计算除了华东区之外的所有区域的总收入

方法1:总和减去华东区

=SUM(E:E) - SUMIFS(E:E, B:B, "华东区")

方法2:使用通配符

=SUMIFS(E:E, B:B, "<>华东区")

<>表示"不等于"


技巧4:模糊匹配(通配符)

需求:计算所有"浦东"开头的门店的总收入(浦东1店、浦东2店、浦东3店...)

公式

=SUMIFS(E:E, C:C, "浦东*")

通配符说明

  • *:代表任意多个字符
  • ?:代表单个字符
  • 示例:
    • "浦东*":以"浦东"开头的所有内容
    • "*店":以"店"结尾的所有内容
    • "*保养*":包含"保养"的所有内容
    • "A?":A后面只有一个字符(如A1、A2、AB等)

技巧5:跨表求和

需求:在汇总表中,引用原始数据表进行求和

公式

=SUMIFS(原始数据!E:E, 原始数据!B:B, "华东区")

好处

  • 原始数据和分析报告分离
  • 原始数据更新时,汇总表自动更新
  • 可以从多个工作表汇总数据

SUMIFS vs SUMIF vs SUM:如何选择?

函数 功能 使用场景 语法示例
SUM 简单求和,无条件 计算某一列的总和 =SUM(E:E)
SUMIF 单条件求和 一个判断条件 =SUMIF(B:B,"华东区",E:E)
SUMIFS 多条件求和 两个或以上条件 =SUMIFS(E:E,B:B,"华东区",C:C,"A类")

选择原则

  • 无条件 → SUM
  • 1个条件 → SUMIF或SUMIFS都可以(推荐统一用SUMIFS)
  • 2个或以上条件 → SUMIFS

注意:SUMIF和SUMIFS的参数顺序不同!

  • SUMIF:(条件区域, 条件, 求和区域)
  • SUMIFS:(求和区域, 条件区域1, 条件1, 条件区域2, 条件2, ...)

构建强大的数据查询中心

设计思路

将Excel文件分为两个工作表:

  1. 原始数据表:存放所有明细数据
  2. 查询面板:提供交互式查询界面

实战案例:区域运营数据查询系统

查询面板设计

查询条件 选择 查询结果 金额
区域 [下拉选择] 总收入 [公式计算]
门店等级 [下拉选择] 工单数 [公式计算]
业务类型 [下拉选择] 平均单价 [公式计算]
客户类型 [下拉选择] 最高单价 [公式计算]

公式设置

总收入(D2单元格):

=SUMIFS(原始数据!$E:$E, 原始数据!$B:$B, B2, 原始数据!$C:$C, B3, 原始数据!$D:$D, B4, 原始数据!$F:$F, B5)

工单数(D3单元格):

=COUNTIFS(原始数据!$B:$B, B2, 原始数据!$C:$C, B3, 原始数据!$D:$D, B4, 原始数据!$F:$F, B5)

平均单价(D4单元格):

=IFERROR(D2/D3, 0)

优化:当某个条件不需要时(如不限定区域),可以在下拉菜单中选择"全部",然后用IF判断:

=IF(B2="全部", SUMIFS(...其他条件), SUMIFS(...包含区域条件))

或使用更灵活的SUMPRODUCT:

=SUMPRODUCT((原始数据!$B:$B=B2)+(B2="全部"), (原始数据!$C:$C=B3)+(B3="全部"), 原始数据!$E:$E)

三个常见错误与解决方案

错误1:#VALUE!错误

原因

  1. 求和区域包含非数值内容(如文本、空格)
  2. 条件区域和求和区域行数不一致

解决方案

  • 检查求和列是否都是数字
  • 使用整列引用(如E:E)而非指定行数,确保一致性
  • 用IFERROR包裹公式:=IFERROR(SUMIFS(...), 0)

错误2:结果为0但数据明明存在

原因

  1. 条件不匹配(大小写、空格、数据类型)
  2. 数值条件忘记加引号
  3. 区域引用错误

排查方法

  • 逐个检查条件是否精确匹配
  • 用TRIM函数去除空格:SUMIFS(E:E, B:B, TRIM("华东区"))
  • 检查数据类型(数字 vs 文本形式的数字)
  • 用COUNTIFS先测试能找到多少行:=COUNTIFS(B:B, "华东区")

错误3:数值条件不生效

错误写法

=SUMIFS(E:E, E:E, >5000)

正确写法

=SUMIFS(E:E, E:E, ">5000")

原因:比较运算符必须加引号,否则Excel无法识别。

如果条件在单元格中

=SUMIFS(E:E, E:E, ">"&H2)

&连接运算符和单元格引用。


10分钟实战演练


SUMIFS家族:更多强大的多条件函数

掌握了SUMIFS后,你可以轻松迁移到它的"兄弟函数":

COUNTIFS - 多条件计数

功能:统计满足多个条件的行数

语法

=COUNTIFS(条件区域1, 条件1, 条件区域2, 条件2, ...)

示例:统计华东区、A类门店的工单数量

=COUNTIFS(B:B, "华东区", C:C, "A类")

AVERAGEIFS - 多条件平均值

功能:计算满足多个条件的数值的平均值

语法

=AVERAGEIFS(平均值区域, 条件区域1, 条件1, 条件区域2, 条件2, ...)

示例:计算华东区、A类门店的平均单价

=AVERAGEIFS(E:E, B:B, "华东区", C:C, "A类")

MAXIFS / MINIFS - 多条件最大值/最小值

功能:找出满足多个条件的数值的最大值或最小值

语法

=MAXIFS(数值区域, 条件区域1, 条件1, 条件区域2, 条件2, ...)
=MINIFS(数值区域, 条件区域1, 条件1, 条件区域2, 条件2, ...)

示例:找出华东区、A类门店的最高单价

=MAXIFS(E:E, B:B, "华东区", C:C, "A类")

注意:MAXIFS和MINIFS需要Excel 2016或更高版本。


从此,你是团队的"数据活字典"

掌握SUMIFS后,你会发现:

响应速度飞快:任何数据查询,3-5秒给出答案

分析能力提升:可以快速进行多维度交叉分析

工作效率倍增:不再需要反复筛选、复制、粘贴、计算

决策支持增强:能够快速验证假设、对比方案、发现机会


下一页预告:现在,你已经掌握了Excel数据分析的三大核心工具——数据透视表、VLOOKUP、IF、SUMIFS。接下来,我们将进入综合实战篇,用一个完整的案例,把所有工具串联起来,完成一份从数据清洗到洞察输出的完整分析报告!

未经允许不得转载:似水流年 » Day 36-6:SUMIFS函数实战 — 多条件汇总的终极武器