先给结论:区别就两点
- 条件数量:SUMIF 只能按一个条件求和;SUMIFS 可以按多个条件(2 个、3 个……)同时求和。
- 参数顺序:两者不一样,这是最容易写错的地方:
- SUMIF:
SUMIF(条件区域, 条件, 求和区域) - SUMIFS:
SUMIFS(求和区域, 条件区域1, 条件1, 条件区域2, 条件2...)
- SUMIF:
一句话记忆:SUMIF 把"求和区域"放最后;SUMIFS 把"求和区域"放最前。多条件时千万别按 SUMIF 的顺序套,否则结果全错。
关于函数入口的说明:SUMIF / SUMIFS 都是 Excel / WPS 表格的内置函数,在单元格输入等号 = 后写函数名即可,具体菜单位置以你软件的实际界面为准(Excel 在"公式 - 数学与三角函数"里也能插入,WPS 同类)。本文讲清参数含义,面板随版本略有差异。
什么是条件求和
"条件求和"就是只把满足条件的那些行加起来。例如:
- "销售额"这列里,只加"客户=甲公司"的那些行 → 单条件,用 SUMIF。
- "销售额"里,只加"客户=甲公司 且 月份=3月"的那些行 → 多条件,用 SUMIFS。
它和 SUM(纯求和、不加任何条件)不同,也和前面讲的 VLOOKUP(按列取单个值)不同——SUMIF/SUMIFS 是"按条件汇总一整列"。
语法对比表
| 项目 | SUMIF(单条件) | SUMIFS(多条件) |
|---|---|---|
| 语法 | SUMIF(条件区域, 条件, 求和区域) | SUMIFS(求和区域, 条件区域1, 条件1, 条件区域2, 条件2...) |
| 求和区域位置 | 第三个参数(最后) | 第一个参数(最前) |
| 条件数量 | 只能 1 个 | 1 个及以上(多个成对追加) |
| 示例语义 | 某客户销售额合计 | 某客户在某月的销售额合计 |
两个语义示例(非真实数据):
SUMIF($B$2:$B$100, "甲公司", $E$2:$E$100) ' 条件区域B列找"甲公司",把对应E列相加
SUMIFS($E$2:$E$100, $B$2:$B$100, "甲公司", $C$2:$C$100, "3月") ' 求和区域E列在前,再跟 客户+月份 两个条件
什么时候用哪个
- 只有 1 个筛选条件:用 SUMIF 或 SUMIFS 都行(SUMIFS 也能只写 1 个条件,顺序要按 SUMIFS 来)。习惯统一用 SUMIFS 也没问题,但要记清顺序。
- 2 个及以上条件:必须用 SUMIFS。比如"部门=销售部 且 月份=3月 且 类型=差旅",三个条件直接在后面成对追加即可。
- 跨表汇总:两者都支持区域引用其他工作表(如
Sheet2!$B$2:$B$100),记得锁区域。
关键设置:顺序与条件写法
- 顺序别搞反:这是最高频错误。SUMIF 的求和区域在最后;SUMIFS 的求和区域在最前。把 SUMIF 的写法直接多条件化,结果会"张冠李戴"。
- 文本条件加引号:条件是文字(如"甲公司")要写成
"甲公司"(英文双引号);条件引用单元格(如A1)则不加引号。 - 数值条件可直接写:如
>1000这种要写成">1000"(比较符号放在引号里);等于某数直接写数字或单元格。 - 通配符:条件可用
*(任意多字符)、?(单个字符),如"张*"表示"张开头"。做按姓氏/前缀汇总很方便。 - 日期条件:日期本质是数字,条件可写具体日期单元格,或用
">="&DATE(2026,1,1)这类写法;直接用汉字日期字符串容易对不上。 - 区域大小一致:条件区域和求和区域的行数必须一样长,否则多出来的行会被忽略或报错。
别把 SUMIFS 写成 SUMIF 的顺序。很多人会写 SUMIFS(条件区域, 条件, 求和区域, ...)——这是错的,SUMIFS 第一个参数必须是求和区域。顺序错了,Excel 不会报错,但会把"条件区域"当成"求和区域"去加,得出的数字完全不对,还不易察觉。写多条件时先默念:求和区域打头。
5 个最容易翻车的坑
- 坑 1 · 参数顺序搞反:SUMIFS 把求和区域写到最后,结果加错列。→ 记住 SUMIFS 求和区域在最前。
- 坑 2 · 条件区域大小不一致:条件区域 100 行、求和区域 200 行,多出的行不参与。→ 各区域行数保持一致,并加
$锁定。 - 坑 3 · 文本条件忘加引号:写
甲公司不被识别,要"甲公司"。→ 文字条件用英文双引号包住,或引用放条件的单元格。 - 坑 4 · 通配符没用对:"张姓客户"写成
"张"只匹配正好一个字"张",要"张*"才表示"张开头任意"。→ 前缀汇总用*。 - 坑 5 · 跨表区域没锁:引用其他表下拉后跑偏。→ 跨表区域也加
$绝对引用,如Sheet2!$B$2:$B$100。
常见问题
能不能只用一个函数搞定单条件和多条件?
可以,统一用 SUMIFS 即可——它也能只写 1 个条件(此时效果和 SUMIF 一样,但顺序要按 SUMIFS:求和区域在前)。好处是风格统一、以后要加条件直接往后追加。只是初学者容易记混顺序,所以单条件用 SUMIF、多条件用 SUMIFS 也完全没问题。
SUMIFS 多个条件之间是"且"还是"或"?
是"且"(同时满足)。写的条件越多,筛出的行越少。如果你要的是"满足 A 或 B 都加",SUMIFS 一个公式做不到,需要写成
SUMIFS(...A...)+SUMIFS(...B...) 两个相加,或改用 SUMPRODUCT。为什么条件明明对得上,求和结果却是 0?
常见原因:① 文本条件没加引号;② 条件区域和求和区域行数不一致,真正有数据的行没被纳入;③ 两边格式不一(一边文本一边数值),"甲公司"看着一样其实不匹配。先核对区域范围一致、条件写法正确、格式统一。
条件里想用"大于 1000 且小于 5000"怎么办?
用 SUMIFS 写两个成对条件:一个
">1000"、一个 "<5000",作用于同一个数值列,它们自然是"且"的关系,就把区间内的都加起来了。WPS 表格里这两个函数一样吗?
一样,WPS 表格完整支持 SUMIF 和 SUMIFS,语法、参数顺序、坑点都和 Excel 一致。上面所有写法在 WPS 里同样适用。