Menu

Excel AVERAGE 公式:如何计算平均值

=AVERAGE(B2:B7) 把 B2:B7 中的数字相加,再除以数字的个数。本文讲解空白单元格和 0 如何影响结果、如何忽略 0,以及如何求前 3 名的平均值。

本页的每张表格都是实时的:修改数字或公式,就会重新计算。

=AVERAGE(B2:B7) 返回 B2:B7 中数字的平均值:先把它们相加,再除以数字的个数。在空单元格中输入这个公式,或者选择“开始 > 自动求和 > 平均值”,让 Excel 帮你写好。

考试平均分
B8
AB
1StudentScore
2Ana78
3Ben92
4Chen65
5Dina88
6Eli71
7Fay84
8Average79.66666667
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

六个分数加起来是 478,478 除以 6 约等于 79.67。把 Chen 的分数改成 95,平均值会升到 84.67。要显示更少的小数位,使用“开始 > 减少小数位数”,或者用 =ROUND(AVERAGE(B2:B7),1) 对结果本身四舍五入(ROUND 讲解了两者的区别)。

AVERAGE 语法

=AVERAGE(number1, [number2], ...)

和 SUM 一样,它接受区域、单元格和数字,用逗号分隔:=AVERAGE(B2:B7,D2:D7) 对两列一起求平均值,=AVERAGE(B2:D2) 对一行求平均值。区域中的文本、TRUE/FALSE 和空单元格都会被跳过。

空白单元格与 0

大多数错误的平均值都出在这里。AVERAGE 会跳过空单元格,但 0 是数字,会被计入。下面两列除了 Ben 之外完全相同:在 B 列中他的单元格是空的,在 C 列中是 0。

空单元格还是 0
B6
ABC
1StudentBlankZero
2Ana8080
3Ben0
4Chen7070
5Dina9090
6Average8060
7Numbers counted34
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

B 列得到 80(240 除以 3),C 列得到 60(240 除以 4)。两个都没错;你要决定缺失的值是表示“没参加”还是“得了 0 分”。返回 "" 来显示为空的公式,会像空白单元格一样被跳过。

去掉 0 求平均值

当 0 表示“没有数据”、不应拉低结果时,用 AVERAGEIF 加上条件 "<>0"(不等于 0):

平均销售额,忽略没有销售的日子
D2
ABCDE
1DaySalesIgnoring zerosPlain average
2Mon420440293.3333333
3Tue0
4Wed380
5Thu0
6Fri510
7Sat450
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

D2 得到 440,即有销售的四天的平均值。E2 中的普通平均值约为 293.33,因为它除以了六天。"<>0" 同样会排除空单元格,因为 AVERAGEIF 从不计入它们。更多条件见 AVERAGEIF 页面。

前 3 个最大值的平均值

LARGE 返回第 k 大的值。给它传入数组 {1,2,3},它会一次返回最大的三个值,再由 AVERAGE 求平均:

最好的三个成绩
D2
ABCDE
1RoundPointsTop 3 averageBottom 3 average
216485.3333333364.66666667
3281
4377
5490
6558
7685
8772
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

前三名是 90、85 和 81,所以 D2 得到 85.33(四舍五入后)。最后三名是 58、64 和 72,得到 64.67。在 Excel 2021 和 Microsoft 365 中,=AVERAGE(LARGE(B2:B8,SEQUENCE(5))) 不用手动输入列表就能求前 5 名的平均值。

AVERAGEA:文本应当按 0 计算时

AVERAGEA 把文本和 FALSE 按 0 计算,把 TRUE 按 1 计算。B2:B4 中是分数 80、70 和单词 "absent" 时:

=AVERAGE(B2:B4)    returns 75 (80 + 70, divided by 2)
=AVERAGEA(B2:B4)   returns 50 (80 + 70 + 0, divided by 3)

只有当文本条目确实表示 0 时,才使用 AVERAGEA。两个函数都会跳过空单元格。

练习:去掉 0 求平均值

每周网站访问量
E2
ABCDE
1DayVisitsAverage (no zeros)
2Mon120
3Tue0
4Wed135
5Thu98
6Fri0
7Sat160
8Sun142
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: 在 E2 中求 B2:B8 中访问量的平均值,排除访问量为 0 的日子。

平均值会误导人时:用 MEDIAN

一个极端值会让平均值变化很大。MEDIAN 返回的是中间的值,而这通常才是“典型”值的含义。

平均值与中位数
D2
ABCDE
1EmployeeSalaryAverageMedian
2Ana$42,000$78,800$47,000
3Ben$45,000
4Chen$47,000
5Dina$50,000
6Owner$210,000
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

平均工资是 78,800,比五个人中四个人的工资都高。中位数是78,800,比五个人中四个人的工资都高。中位数是 47,000。当少数几个值和其余值相差很远时,报告中位数,或者两者都报告。要让某些值比其他值占更大的权重,比如一场按双倍计分的考试,请看加权平均值。

常见问题

Excel 中求平均值的公式是什么?

=AVERAGE(B2:B7)。它把区域中的数字相加,再除以数字的个数。空单元格和文本既不计入总和,也不计入个数。

Excel 的 AVERAGE 会计算空白单元格吗?

不会。空单元格会被跳过,所以有一个空单元格时,=AVERAGE(B2:B5) 除以 3。值为 0 的单元格会被计入,所以它会拉低平均值。

Excel 中 AVERAGE 和 MEDIAN 有什么区别?

=AVERAGE(B2:B6) 把值相加后除以个数;=MEDIAN(B2:B6) 返回排序后位于中间的值。一个极端值会改变平均值,但不会改变中位数:对于 42000、45000、47000、50000 和 210000,平均值是 78800,中位数是 47000。

如何在 Excel 中求前 3 个最大值的平均值?

=AVERAGE(LARGE(B2:B8,{1,2,3})) 求三个最大值的平均值。求最小的 3 个,就把 LARGE 换成 SMALL。在 Excel 2021 或 Microsoft 365 中求前 5 名:=AVERAGE(LARGE(B2:B8,SEQUENCE(5)))。

为什么 AVERAGE 返回 #DIV/0!?

区域中根本没有数字:要么是空的,要么所有值都是文本,比如以文本形式存储的数字。这时 AVERAGE 就会除以 0。

Coddy 编程语言插图

和 Coddy 一起学编程

开始