单个区域的平均成交金额(AVERAGEIF)
测试用例
1
2
3
重置
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。
测试用例
1
2
3
重置
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。
题目
题目说明
销售简报要引用各区域的平均成交金额。Pipeline 在 A2:C7,要报告的区域放在 E2。把该区域的平均成交金额填进 Avg deal 单元格 F2;若该区域完全没有成交,填 0。
没有数据的区域必须返回 0,不能是 #DIV/0!——简报不能显示错误。
题目数据
用表格查看整份数据(可选中、可复制)
| A | B | C | E | F | |
|---|---|---|---|---|---|
| 1 | Region | Deal | Amount | Region | Avg deal |
| 2 | East | Widget | 1200 | East | |
| 3 | West | Gadget | 800 | ||
| 4 | East | Widget | 900 | ||
| 5 | North | Bolt | 1500 | ||
| 6 | East | Gadget | 600 | ||
| 7 | West | Bolt | 400 |
知识点
AVERAGEIF(条件区域, 条件, 平均区域) 只平均匹配的行。完全没有匹配时它会除以零、返回 #DIV/0!,所以需要防护:IFERROR 把错误变成可以印在简报上的数字。多条件版本是 AVERAGEIFS。
解题思路
答案写在 F2。提交时我们会换 3 组输入重跑你的公式,写死数字一定过不了 —— 公式必须跟着单元格走。
- 目标单元格是 F2
- AVERAGEIF 需要区域列、区域值与金额列
- 想一想:没有任何行匹配时会发生什么
- 公式形状:=IFERROR(AVERAGEIF(?, ?, ?), ?)
官方解法
展开 2 种解法(建议先自己试一次)
解法 1:AVERAGEIF 搭配 0 作为默认值
=IFERROR(AVERAGEIF($A$2:$A$7, E2, $C$2:$C$7), 0)
East 有三笔:(1200 + 900 + 600)/ 3 = 900。若区域完全没有数据,AVERAGEIF 会抛出 #DIV/0!,IFERROR 把它变成 0,报表仍是数字。
解法 2:只用 AVERAGEIF
=AVERAGEIF($A$2:$A$7, E2, $C$2:$C$7)
同样的平均,但不加防护。读起来更干净,可是只要有人输入没有成交的区域,就会冒出 #DIV/0!。
函数指南
常见问题
怎么只平均符合条件的行?
=AVERAGEIF(条件区域, 条件, 平均区域)。平均区域要和条件区域一样大。
为什么 AVERAGEIF 会返回 #DIV/0!?
没有任何行匹配,于是除以零。报表需要数字时用 IFERROR(值, 0) 包起来,或写 =IF(COUNTIF(...)=0, 0, AVERAGEIF(...))。