超过审批阈值的报销单汇总(SUMIF)
题目
题目说明
财务导出的 A2:C8 把大大小小的报销单都列在一起。审计只关心超过审批阈值的那些单据,而阈值本身放在 D2(每季度都会调整)。请把「严格大于阈值」的报销金额汇总进 Total above limit 单元格 E2。
条件要由 D2 构造出来——阈值会随测试用例变化,500 和答案都不能写死在公式里。
题目数据
用表格查看整份数据(可选中、可复制)
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Claim | Requester | Amount | Limit | Total above limit |
| 2 | EXP-101 | Ana Li | 420 | 500 | |
| 3 | EXP-102 | Ben Kim | 500 | ||
| 4 | EXP-103 | Chen Wu | 1250 | ||
| 5 | EXP-104 | Dana Ortiz | 80 | ||
| 6 | EXP-105 | Ana Li | 900 | ||
| 7 | EXP-106 | Eve Novak | 610 | ||
| 8 | EXP-107 | Ana Li | 1500 |
知识点
SUMIF(range, criteria, [sum_range]) 逐格比对 range 与 criteria,只把 sum_range 中对应位置符合条件的值相加。当要比对的列和要汇总的列是同一列(「只累加大于 X 的数」)时,第三个参数可以省略,SUMIF 就直接累加它刚比对过的那些单元格。运算符必须用 & 与单元格拼接:">"&D2 才会在运行时组成一个字符串。
解题思路
答案写在 E2。提交时我们会换 3 组输入重跑你的公式,写死数字一定过不了 —— 公式必须跟着单元格走。
- 目标单元格是 E2
- 阈值放在 D2,条件要写成 ">"&D2,不能写成 ">500"
- 金额在 C2:C8;因为要比对的列就是要汇总的列,第三个参数可以省略
- 形状:=SUMIF(?, ">"&?, ?)
官方解法
展开 2 种解法(建议先自己试一次)
解法 1:省略求和区域的 SUMIF
=SUMIF(C2:C8, ">"&D2)
SUMIF 用 ">"&D2 组成的字符串比对 C2:C8,把通过的单元格相加。因为没有给求和区域,它累加的就是刚比对过的这些单元格——这正是「只累加大于 X 的数」的标准写法。
解法 2:同一公式但把求和区域写出来
=SUMIF(C2:C8, ">"&D2, C2:C8)
结果完全相同,只是明确写出来:条件区域与求和区域是同一列。以后若把「比对列」与「汇总列」拆开,这种写法可以直接沿用。
函数指南
常见问题
如何只累加超过阈值的金额?
=SUMIF(C2:C8, ">500") 只会累加大于 500 的数字。如果阈值放在单元格里,就用 & 把运算符与单元格拼起来:=SUMIF(C2:C8, ">"&D2),阈值变化时公式不用改。
为什么阈值等于最大金额时总额是 0?
因为 > 是严格大于。当最大金额刚好等于阈值时,没有任何一行符合条件,SUMIF 会返回 0 而不是报错。若刚好等于阈值的金额也要算进来,请改用 ">="。
SUMIF 的第三个参数可以不写吗?
可以。省略时 SUMIF 加总的就是条件区域本身,正好适用于「只累加大于 X 的数」这种比对列与汇总列相同的情况。