GUIDE

SUMIFS 多条件求和怎么写?实战教程(附 COUNTIFS / AVERAGEIFS)

2026.03.04 · 阅读 5 分钟
更新于 2026.03.25

Excel 自带的 SUM 只能求和整列。但实际工作中你要的是:技术部 3 月份的工资总额华东区线上渠道的销售总量A 供应商合格品的数量——都是带条件的求和。

SUMIFS 就是干这件事的。它是 Excel 中最实用的统计函数之一,搭配 COUNTIFS(多条件计数)和 AVERAGEIFS(多条件平均),基本能覆盖 80% 的报表统计需求。

SUMIFS 基础语法

SUMIFS 语法结构
=SUMIFS(求和范围, 条件范围1, 条件1, [条件范围2], [条件2], ...)
求和范围 — 要加总哪一列的数字(比如工资列)
条件范围1 + 条件1 — 第一个筛选条件(比如部门=技术)
条件范围2 + 条件2 — 第二个筛选条件(比如月份=3月)
条件对可以一直加,最多 127 对
注意参数顺序:SUMIFS 的第一个参数是求和范围,跟 SUMIF(单条件版本)不一样。这是很多人写错的地方。

场景一:单条件求和

◆ 典型情况

你有一张销售表,想统计「技术部」的工资总额。

▼ 示例表格:员工工资表

Excel — 员工工资表
A 姓名 B 部门 C 月份 D 工资
2张三技术3月8000
3李四财务3月9500
4王五技术3月7200
5赵六市场2月8500
6张三技术2月8000
蓝 = 条件列 绿 = 求和列
=SUMIFS(D:D, B:B, "技术")  → 23200

含义:在 B 列找「技术」的行,把对应 D 列的数字加起来 → 8000 + 7200 + 8000 = 23200。

场景二:多条件求和

◆ 典型情况

统计「技术部」在「3月」的工资总额。

=SUMIFS(D:D, B:B, "技术", C:C, "3月")  → 15200

两个条件同时满足的行:张三3月(8000)+ 王五3月(7200)= 15200。条件对可以继续加,比如再加一个「工资>7000」。

场景三:条件引用单元格(公式可下拉)

实际做报表时,条件不会写死成「技术」「3月」,而是引用单元格。这样公式可以下拉复制、配合数据透视使用:

=SUMIFS(D:D, B:B, F2, C:C, G2)

F2 里填部门名称,G2 里填月份,公式自动计算对应的总额。

引用单元格时不加引号。写死文本时加引号:"技术"。引用单元格时不加:F2。这是写 SUMIFS 最容易犯的错。

场景四:带比较运算符的条件

条件不仅可以是等于,还可以用 >、<、>=、<=、<>:

// 工资大于 8000 的总额
=SUMIFS(D:D, D:D, ">8000")
// 技术部工资 ≥ 8000 的总额
=SUMIFS(D:D, B:B, "技术", D:D, ">=8000")
// 引用单元格的写法(H2 里填 8000)
=SUMIFS(D:D, D:D, ">"&H2)

注意最后一行的写法:运算符用引号包住,再用 & 连接单元格引用。这是 SUMIFS 独特的语法,刚开始可能不习惯。

COUNTIFS:把求和换成计数

COUNTIFS 跟 SUMIFS 几乎一样,区别是:不求和,只数有几行满足条件。而且没有「求和范围」参数,直接从条件对开始。

COUNTIFS 语法
=COUNTIFS(条件范围1, 条件1, [条件范围2], [条件2], ...)
没有求和范围参数,比 SUMIFS 少一个参数
// 技术部有几个人?
=COUNTIFS(B:B, "技术")  → 3
// 技术部 3 月有几条记录?
=COUNTIFS(B:B, "技术", C:C, "3月")  → 2

AVERAGEIFS:多条件平均值

语法跟 SUMIFS 完全一致,只是把求和改成求平均:

=AVERAGEIFS(D:D, B:B, "技术")  → 7733

技术部 3 人的工资平均值:(8000 + 7200 + 8000) ÷ 3 ≈ 7733。

还有 MAXIFSMINIFS(Office 2019+ / 365),用来找满足条件的最大值和最小值,语法一样。

常见错误排查

错误1:条件范围大小不一致

SUMIFS 要求所有范围的行数必须相同。SUMIFS(D2:D100, B2:B50, "技术") 会报错,因为 D2:D100 是 99 行,B2:B50 只有 49 行。最简单的做法:全部用整列引用(D:DB:B)。

错误2:文本条件忘加引号

=SUMIFS(D:D, B:B, 技术) 会报错。文本条件必须用英文双引号包住:"技术"。但如果条件来自单元格引用(F2),则不加引号。

错误3:日期条件不生效

日期条件不能直接写 "2026-03-01",Excel 可能不认。推荐用 DATE 函数:

=SUMIFS(D:D, E:E, ">="&DATE(2026,3,1), E:E, "<"&DATE(2026,4,1))

这个公式统计 E 列日期在 3 月份内的行的 D 列总和。用两个条件框定日期范围,比文本匹配更可靠。

错误4:通配符意外匹配

SUMIFS 的文本条件支持通配符:* 匹配任意字符,? 匹配单个字符。如果你的条件值里恰好包含 *?,用 ~ 转义:"~*" 表示匹配字面上的星号。

SUMIFS vs COUNTIFS vs AVERAGEIFS 对照

三兄弟对照表
函数 作用 第一个参数 兼容性
SUMIFS多条件求和求和范围2007+
COUNTIFS多条件计数(无)直接写条件2007+
AVERAGEIFS多条件平均平均值范围2007+
MAXIFS多条件最大值最大值范围2019+
MINIFS多条件最小值最小值范围2019+

记住一个规律:除了 COUNTIFS 没有「值范围」参数外,其他四个的语法结构完全相同——第一个参数是操作范围,后面是条件对。学会一个就全会了。

实战公式速查

需求公式
技术部的总工资=SUMIFS(C:C, B:B, "技术部")
技术部且工资>8000的人数=COUNTIFS(B:B, "技术部", C:C, ">8000")
3月的销售额合计=SUMIFS(D:D, A:A, ">="&DATE(2026,3,1), A:A, "<"&DATE(2026,4,1))
A产品在华东区的平均单价=AVERAGEIFS(E:E, B:B, "A产品", C:C, "华东")
本月最大单笔订单金额=MAXIFS(D:D, A:A, ">="&DATE(2026,3,1), A:A, "<"&DATE(2026,4,1))

常见问题

SUMIFS 和 SUMIF 有什么区别?

SUMIF 只能设一个条件,SUMIFS 可以设多个条件。而且两者的参数顺序不同——SUMIF 是 (条件范围, 条件, 求和范围),SUMIFS 是 (求和范围, 条件范围1, 条件1, ...)。建议统一用 SUMIFS,即使只有一个条件也用 SUMIFS,避免两套语法搞混。

条件能用单元格引用吗?

当然可以,而且推荐这样做。把条件写在单元格里(比如 E1 填"技术部"),公式写成 =SUMIFS(C:C, B:B, E1)。这样改条件时只需要改单元格的值,不用改公式。如果条件需要运算符,用拼接:=SUMIFS(C:C, D:D, ">"&F1),F1 填数字。

为什么 SUMIFS 结果是 0?

最常见的原因:条件范围里的数据格式和条件不匹配。比如条件范围是文本格式的"技术部",但你在条件里写了一个单元格引用,而那个单元格可能有前后空格或特殊字符。用 TRIM 清理一下,或者直接在公式里写死字符串确认是不是数据问题。

能跨工作表用 SUMIFS 吗?

可以。在范围前加上工作表名即可:=SUMIFS(Sheet2!C:C, Sheet2!B:B, "技术部")。注意所有范围都要指向同一个工作表——不能求和范围在 Sheet1、条件范围在 Sheet2。

ESC