SUMIF 函数
SUMIF 只对满足一个条件的数字求和——区域小计、分类汇总、面试里的「大于就加」全靠它。掌握 3 个参数结构、条件引号规则,以及 SUMIFS 的参数顺序陷阱。
SUMIF 函数语法与 3 大参数结构
SUMIF(条件求和)逐格检查 range 中符合 criteria 的单元格,并把 sum_range 中对应位置的数字相加——一条公式完成「筛选+求和」两步。
要检查条件的区域(例如区域列 A2:A7)。SUMIF 会在这里逐格比对 criteria。
条件:文本要加引号("North")、数字不用(100)、比较运算符也要引号(">100")、可拼接单元格(">" & D1)、支持通配符("North*")。
实际要求和的数字区域(例如销售额 B2:B7)。省略时 SUMIF 会直接对 range 本身求和(例如只对 B2:B20 求大于 100 的和)。
Excel SUMIF 示例:按区域汇总销售额
A 列是区域,B 列是销售额。这条 SUMIF 示例只汇总 North 区域。
| 区域 | 销售额 |
|---|---|
| North | 1200 |
| South | 800 |
| North | 950 |
| East | 600 |
| North | 400 |
SUMIF 在 A2:A6 中找出 North,并把 B2:B6 里对应的销售额相加:1200 + 950 + 400 = 2550。文本条件必须加引号。
SUMIFS 示例:同时按区域和产品求和
同一张表增加了产品列。这条 SUMIFS 示例只汇总 North 区域的 Widgets,而且求和区域放在最前面。
| 区域 | 产品 | 销售额 |
|---|---|---|
| North | Widgets | 1200 |
| South | Widgets | 800 |
| North | Gadgets | 950 |
| North | Widgets | 400 |
SUMIFS 只把区域为 North 且产品为 Widgets 的销售额相加:1200 + 400 = 1600。求和区域必须放在第一个参数;若按 SUMIF 的顺序来写,公式不会报错,只会返回 0。
SUMIF 最常踩的 4 大陷阱
1. SUMIFS 的参数顺序完全相反(面试必考)
SUMIF 是「条件在前,求和在后」;SUMIFS 是「求和在前,条件在后」:=SUMIFS(sum_range, range1, criteria1, …)。顺序写反不会报错,只会返回 0 或错误数字——面试官最爱考这一条。
2. 条件的引号规则
文本条件必须加引号:"North";纯数字不用:100;比较运算符整体是一个字符串:">=100"。把 >100 裸写进公式会直接语法错误。
3. 不分大小写 + 通配符会意外多算
SUMIF 匹配不区分大小写(north = North),且 "North*" 会命中 North America、Northwest。数据里有 Norten 时用精确值或改用 SUMPRODUCT 验证,别让通配符悄悄多算。
4. 返回 0 的三大元凶
条件值前后有隐藏空格(TRIM 清洗)、sum_range 是文本型数字(VALUE 转换)、range 与 sum_range 起点错位——三种情况都不报错,只返回 0。
条件汇总三剑客:SUMIF vs SUMIFS vs SUMPRODUCT
SUMIF
单条件求和的标准答案,语法最短、可读性最高。面试中「按区域/按品类汇总」的第一反应。
SUMIFS
多条件求和的正解(两组条件以上)。记住口诀「先求和、后条件」,与 SUMIF 相反。Excel 2007 之前的旧文件不支持。
SUMPRODUCT
万能后备。=SUMPRODUCT((A2:A7="North")*B2:B7) 用乘法数组实现条件求和,可叠加任意复杂逻辑,也是加权平均的标准答案。
Excel 与 Google Sheets 平台差异与进阶用法
Microsoft Excel (365 / Desktop)
Excel 的 SUMIF 支持跨工作表引用:=SUMIF(Sheet2!A:A, "North", Sheet2!B:B)。注意 SUMIF 的 range 参数不接受数组常量,多条件汇总请改用 SUMIFS 或 SUMPRODUCT。
Google Sheets
Google Sheets 语法完全兼容,且支持 =ARRAYFORMULA(SUMIF(...)) 数组展开用法;也可使用 =QUERY() 一条完成分组汇总,但面试与通用场景仍以 SUMIF/SUMIFS 为标准答案。
更多条件汇总实战关卡推荐
从 SUMIF 单条件、SUMIFS 多条件,到 SUMPRODUCT 加权平均,在真实业务情境中练出肌肉记忆。
常见问题
SUMIF 是如何运作的?
=SUMIF(range, criteria, sum_range) 在 range 中寻找符合 criteria 的单元格,并把 sum_range 中对应的数字相加。例如 =SUMIF(A2:A7, "North", B2:B7) 汇总 North 区域的销售额。
为什么我的 SUMIF 返回 0?
常见原因:1) 文本条件没加引号。2) sum_range 里是文本型数字。3) 条件值前后有看不见的空格(用 TRIM 清洗)。4) range 与 sum_range 尺寸错位。
SUMIF 与 SUMIFS 有什么区别?
SUMIF 只接受一组条件;SUMIFS 接受两组以上。注意参数顺序:SUMIFS 的 sum_range 排在最前面——=SUMIFS(sum_range, range1, criteria1, …)——与 SUMIF 完全相反,是面试测验的第一大陷阱。
怎么只对大于某个值的单元格求和?
把运算符放进引号:=SUMIF(B2:B20, ">100") 只汇总超过 100 的单元格。如果阈值存在单元格里,用拼接:=SUMIF(B2:B20, ">" & D1)。
SUMIF 支持通配符吗?
支持——* 代表任意多个字符、? 代表恰好一个字符,例如 =SUMIF(A2:A20, "North*") 会汇总所有以 North 开头的区域。Excel 与 Google Sheets 的匹配都不区分大小写。