一条公式算出两个区域(SUMIF 的 OR 写法)
题目
题目说明
订单记录 A2:C11 混了四个区域,而复盘简报需要 North 与 East 合计——一个数字,不是两个。请把这两个区域的合计放进 North + East total 单元格 E2。
SUMIF 每给一个条件只返回一个数字,所以把两个区域交给它只做了一半——外面那层 SUM 才是把结果加回来的地方。
题目数据
用表格查看整份数据(可选中、可复制)
| A | B | C | E | |
|---|---|---|---|---|
| 1 | Region | Order | Sales | North + East total |
| 2 | North | ORD-2001 | 1250 | |
| 3 | South | ORD-2002 | 800 | |
| 4 | North | ORD-2003 | 960 | |
| 5 | East | ORD-2004 | 600 | |
| 6 | West | ORD-2005 | 700 | |
| 7 | North | ORD-2006 | 330 | |
| 8 | East | ORD-2007 | 480 | |
| 9 | South | ORD-2008 | 1200 | |
| 10 | West | ORD-2009 | 250 | |
| 11 | East | ORD-2010 | 90 |
知识点
条件可以是数组常量:SUMIF(A2:A11, {"North","East"}, C2:C11) 会返回「两个」合计(每个区域一个),形成一个值数组。外层的 SUM 把这个数组收成报表要的单一数字。改写成两个 SUMIF 相加也得到同样答案——两个区域还行,六个区域就很痛苦。同样的数组常量也能放进 SUMIFS,等之后多一个条件时,这才是该留下的习惯。
解题思路
答案写在 E2。提交时我们会换 3 组输入重跑你的公式,写死数字一定过不了 —— 公式必须跟着单元格走。
- 目标单元格是 E2
- 区域在 A2:A11,金额在 C2:C11
- 条件可以写成数组常量 {"North","East"},SUMIF 就会一次返回每个区域各一个合计
- 形状:=SUM(SUMIF(?, {?,?}, ?)) 或 =SUMIF(?,?,?) + SUMIF(?,?,?)
官方解法
展开 2 种解法(建议先自己试一次)
解法 1:数组常量条件 + 外层 SUM
=SUM(SUMIF(A2:A11, {"North","East"}, C2:C11))
数组常量让 SUMIF 拿到两个条件,于是它算两次、返回含两个数字的数组。少了外层 SUM,你只会看到第一个区域的合计——这是这条公式最常见的坏法。要再加第三个区域,只要往常量里多写一个值,SUM 不必改。
解法 2:两个 SUMIF 相加
=SUMIF(A2:A11,"North",C2:C11)+SUMIF(A2:A11,"East",C2:C11)
总和一样,只是展开来写。每个区域都有自己的标签列时比较易读,但写法会线性增长:六个区域就是六次 SUMIF,也多六个打错字的机会。
函数指南
常见问题
同一列里要多加几个指定值,该怎么写?
=SUM(SUMIF(A2:A11, {"North","East"}, C2:C11):数组常量放你想汇总的值,SUMIF 每个值各返回一个合计,最外层 SUM 再加起来。这是单列版本的「在这份名单里」。
为什么我的 OR 公式只返回第一个区域?
因为带数组常量的 SUMIF 返回的是数组,不是单一值。外面没有 SUM 时,Excel 只显示数组的第一项——公式看起来能跑,却悄悄把其他区域丢掉了。
数组常量也能用在 SUMIFS 吗?
可以。=SUM(SUMIFS(C2:C11, A2:A11, {"North","East"})) 得到同样的合计,而且之后再加第二个条件也不必改写写法——这是 SUMIF 做不到的。