"销售部一共花了多少钱"——这一类活全靠 SUMIF。这篇用一张门店销售表,把单条件、大于小于、引用单元格、通配符四种写法讲清,附 SUMIFS 的区别。
SUMIF(条件区域, 条件, 求和区域)
用途在"条件区域"里找出符合条件的行,把这些行在"求和区域"里的数字加起来。
这是我认为最该第一个学的函数。
关键如果你还没建立「函数能干活」的直觉,先看 Excel 最值得先学的 10 个函数,那里讲了为什么从它开始、整个学习顺序怎么排。
理由很简单:它最像人话。"符合条件的加起来"——这句话你平时就会说,SUMIF 只是把它写成了公式。
先看表
门店销售表(A 到 D 列)
| 日期 | 门店 | 品牌 | 销售额 |
|---|---|---|---|
| 3月1日 | 一店 | 天依 | 1800 |
| 3月1日 | 二店 | 靓丽 | 2900 |
| 3月2日 | 一店 | 天依 | 1400 |
| 3月2日 | 三店 | 靓丽 | 900 |
| 3月3日 | 二店 | 天依 | 2200 |
老板问了三个问题:
- 一店一共卖了多少?
- 天依这个品牌一共卖了多少?
- 销售额超过 2000 的有多少?
这三个都是 SUMIF。
基本写法:找出"一店",把它的销售额加起来
=SUMIF(B2:B6, "一店", D2:D6)
三个参数:
- `B2:B6` —— 在哪儿找(门店这一列)
- `"一店"` —— 找什么(文本要加英文双引号)
- `D2:D6` —— 把哪一列加起来(销售额)
读出来就是:在 B2:B6 里找"一店",找到的行,把 D2:D6 对应的数加起来。
关键注意一个细节:前两个参数和后一个参数是"分开的两列"。SUMIF 允许你去 A 列找条件、却加 B 列的数——这点比 SUMIFS 灵活,但也是新手容易搞混的地方。
第二个问题:按品牌求和
=SUMIF(C2:C6, "天依", D2:D6)
一模一样的结构,只是把"在哪儿找"换成了品牌列。
第三个问题:销售额超过 2000 的加起来
这里就有讲究了。条件是"大于 2000",写法是:
=SUMIF(D2:D6, ">2000", D2:D6)
注意三件事:
- 大于号要放在引号里面:`">2000"`,不能写成 `>2000`(会报错)
- 条件是"大于 2000",所以求和区域可以省略——当条件区域和求和区域是同一列时,第三个参数可以不写: 【公式】=SUMIF(D2:D6, ">2000")
- 数字不加引号也行,但符号必须和数字一起放进引号
关键记住这个规律:比较符号必须跟引号一起用。`">2000"`、`"<=100"`、`"<>未完成"` 都对,`>2000` 直接报错。
更实用:条件放在单元格里
实际工作里,条件常常不是写死的,而是放在某个格子里,方便改。
假设你在 F1 里写"一店",公式可以写成:
=SUMIF(B2:B6, F1, D2:D6)
这样下次要看"二店",把 F1 改成"二店"就行,不用改公式。
但注意:如果条件在单元格里,就不要加引号。`F1` 是引用,`"F1"` 是文本,两者完全不同。
易错最容易错的地方:`=SUMIF(B2:B6, "F1", D2:D6)` —— 加了引号,Excel 会去找"F1"这三个字符,永远返回 0。
条件在单元格里,又要带比较符号
这个情况要拼接:
=SUMIF(D2:D6, ">"&F1, D2:D6)
`">"&F1` 的意思是:把大于号和 F1 里的值拼起来。F1 是 2000,拼完就是 `">2000"`。
关键这个 `&` 拼接的写法,是所有"条件放单元格 + 带符号"场景的通用解法,SUMIF、COUNTIF、SUMIFS、COUNTIFS 都一样。
通配符:模糊匹配
SUMIF 的条件支持两个通配符:
| 通配符 | 含义 | 例子 |
|---|---|---|
| `*` | 任意多个字符 | `"天依*"` = 以"天依"开头 |
| `?` | 任意单个字符 | `"??女装"` = 前面正好两个字 |
比如"所有含'天依'两个字的品牌":
=SUMIF(C2:C6, "*天依*", D2:D6)
"以'一'开头的门店"(一店、一号店都能匹配):
=SUMIF(B2:B6, "一*", D2:D6)
关键如果品牌名里本身就有 `*` 或 `?`(少见但确实有),要在前面加 `~` 转义,写成 `~*`。
SUMIF 和 SUMIFS 的区别(很多人搞混)
这是最值得单独讲的一段。
| SUMIF | SUMIFS | |
|---|---|---|
| 条件个数 | 一个 | 一个或多个 |
| 参数顺序 | 条件区域在前,求和区域在最后 | 求和区域在最前,条件区域在后 |
| 写法 | `SUMIF(区域, 条件, 求和)` | `SUMIFS(求和, 区域1, 条件1, 区域2, 条件2)` |
易错这是最容易出事故的地方:两个函数的参数顺序是相反的。把 SUMIF 的写法套到 SUMIFS 上,公式不报错,但结果是 0 或者错的。
SUMIFS 的例子——"一店"且"天依"的销售额:
=SUMIFS(D2:D6, B2:B6, "一店", C2:C6, "天依")
看出来了吗:先写要求和的那一列,然后成对写"在哪儿找 + 找什么"。
关键记忆方法:SUMIFS 结尾多了个 S,代表"多个条件",而 Excel 的设计惯例是"先说要算什么,再说条件"。所以求和列被提到了最前面。
常见错误清单
| 现象 | 原因 | 解决 |
|---|---|---|
| 结果永远是 0 | 条件加了引号但应该是引用 | 去掉引号,写 `F1` 不是 `"F1"` |
| 报错 #VALUE! | 比较符号没放进引号 | 写 `">2000"` |
| 结果明显偏小 | 求和区域比条件区域短 | 两个区域行数必须一致 |
| 中文条件查不到 | 文本里带空格 | 用 `TRIM()` 清洗,或用通配符 |
| SUMIFS 返回 0 | 参数顺序写反 | 求和区域放最前 |
完整操作步骤
- 点一个空单元格,输入 `=SUMIF(`
- 框选条件列 `B2:B6`,输入 `,`
- 输入 `"一店"`(含英文双引号),输入 `,`
- 框选求和列 `D2:D6`,输入 `)`,回车
- 想看别的门店,把 `"一店"` 改成单元格引用 `F1`,再改 F1 的值
一句话总结
SUMIF 就是"在 A 列里找符合条件的东西,把 B 列对应的数加起来"。条件带符号就加引号,条件在格子里就别加引号,两个要一起用就写 `">"&F1`。
关键下一步:把 SUMIF 学完,COUNTIF 几乎不用学——把"加起来"换成"数个数",参数结构完全一样。
评论 0