AVERAGE函数示例:平均值(带过滤器)


概括


要计算多列数据的条件平均值,可以使用 AVERAGE 函数和FILTER 函数。在所示工作表中,单元格 H5 中的公式为:


=AVERAGE(FILTER(data,group=G5))

其中数据(C5:E16) 和分组(B5:B16) 是已命名的区域。结果是分组“A”中三个月数据的平均值。公式向下复制时,它会计算 G 列中每个分组的平均值。FILTER 函数是 Excel 中的一个新函数。请参阅下文,了解适用于旧版本 Excel 的替代方法。


通用公式


=AVERAGE(FILTER(data,group=A1))

解释


在这个例子中,目标是计算给定组(“A”、“B”或“C”)在 C5:E16 区域内三个月数据的平均值。为方便起见, 数据(C5:E16) 和(B5:B16) 均为命名区域。在下面的文章中,我们将探讨解决此问题的几种方法:

  1. 为什么AVERAGEIFS 函数不起作用。
  2. 基于 平均值+滤波器的解决方案
  3. 基于 AVERAGE + IF 函数的解决方案
  4. 基于 求和积和布尔代数的解决方案

在最新版本的 Excel 中,“筛选”选项(#2)简单易用。在旧版 Excel中,您可以使用方法 #3 或 #4。

AVERAGEIFS 函数不起作用

你可能会想用AVERAGEIFS 函数来解决这个问题。毕竟,它似乎很符合要求。我们只需要根据一个条件计算一段数据的平均值:我们需要检查组(B5:B16) 是否等于“A”、“B”或“C”。实际上,我们可以轻松地使用 AVERAGEIFS 来计算给定组在一个月内的数据平均值。例如,要计算 1 月份组“A”的平均值,我们可以使用如下公式:


=AVERAGEIFS(C5:C16,group,"A") // returns 42

但是,如果我们尝试将 average_range扩展到包含数据中的所有三列(C5:E16),则会收到 #VALUE! 错误:


=AVERAGEIFS(data,group,"A") // returns #VALUE!

为什么?原因是 AVERAGEIFS 函数 要求 average_range 的大小与criteria_range 的大小相同 。当我们尝试将单列范围(B5:B16) 与三列范围数据(C5:E16) 一起使用时,AVERAGEIFS 会返回错误。顺便一提,如果我们使用旧版的AVERAGEIF 函数并传入整个数据范围和相同的条件,虽然不会报错,但会得到错误的结果:


=AVERAGEIF(group,"A",data) // returns 42

这是因为 AVERAGEIF 函数对average_range做了一些假设 ,本质上是将其调整为与range参数匹配,并以范围的左上角单元格为原点。值得注意的是,这种“静默失败”很危险,因为结果看似合理,但实际上是错误的。你可能不喜欢公式错误,但至少它们能告诉你哪里出了问题。

带滤波器的平均值

在最新版本的 Excel 中,这种情况的一个好解决方法是使用AVERAGE 函数和FILTER 函数。图中所示的工作表就采用了这种方法,其中单元格 H5 中的公式向下复制后为:


=AVERAGE(FILTER(data,group=G5))

数据 (C5:E16) 和组(B5:B16) 都是命名区域。在 AVERAGE 函数内部,FILTER 函数配置为使用简单的逻辑表达式过滤 C5:E16 中的数据:


FILTER(data,group=G5)

因为单元格 G5 包含“A”,且(B5:B16) 包含 12 个值,所以该表达式返回一个包含 12 个 TRUE 和 FALSE 值的数组,如下所示:


{TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

请注意,数组中的前四个值均为 TRUE,对应于数据中的前 4 行,即 A 组中的数据。该数组作为include参数返回给 FILTER 函数,FILTER 函数使用该数组选择数据的前 4 行(C5:E16)。

FILTER 函数的结果直接作为单个数组传递给 AVERAGE 函数:


=AVERAGE({58,41,48;37,46,32;38,48,38;35,59,46})

AVERAGE 函数返回的最终结果为 43.8,即 FILTER 函数返回的数组中 12 个数字的平均值。由于公式向下复制,它会使用 G 列中对应组的值来计算每个组的平均值。

平均值(带IF)

FILTER 函数是一个较新的函数,旧版 Excel中不存在。如果您使用的是旧版 Excel,可以使用类似这样的简单数组公式来解决此问题:


{=AVERAGE(IF(group=G5,data))}

在这个公式中,我们使用IF 函数而不是 FILTER 函数来筛选每个组中的值。当组中的值与 G5 单元格(“A”)中的值匹配时,IF 函数返回数据中对应的值。当值不匹配时,IF 函数返回数据中对应值的 FALSE。IF函数计算完成后,返回给 AVERAGE 函数的结果数组如下所示:


=AVERAGE({58,41,48;37,46,32;38,48,38;35,59,46;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE})

之所以能做到这一点,是因为AVERAGE 函数 会自动忽略逻辑值 TRUE 和 FALSE。这是一个数组公式,在旧版本的 Excel 中必须使用 Ctrl + Shift + Enter 组合键输入。

使用这种方法需要注意的一点是,空单元格会被视为零值,并被计入平均值的计算中。这是因为当空单元格通过 IF 函数处理时,它们会被赋值为零 (0)。虽然 AVERAGE 函数会忽略空值,但它会将零 (0) 值包含在平均值的计算中。为了避免这个问题,您可以添加第二个 IF 函数来检测空值,如下所示:


{=AVERAGE(IF(group=G5,IF(data<>"",data)))}

在这个公式中,只有属于组“A”且不为空的值才会传递给 AVERAGE 函数。所有其他值都会变为 FALSE,并被 AVERAGE 函数忽略。

以上两个公式均为 数组公式 ,在旧版 Excel 中必须使用 Ctrl + Shift + Enter 组合键输入。在当前版本的 Excel 中,由于原生支持数组公式,这些公式可以直接使用。

SUMPRODUCT 函数

正如您可能已经猜到的,您也可以使用功能强大的SUMPRODUCT 函数在旧版本的 Excel 中解决这个问题。公式如下:


=SUMPRODUCT(--(group=G5)*data)/SUMPRODUCT(--(group=G5)*(data<>""))

在这个公式中,第一个 SUMPRODUCT 函数计算组“A”(从单元格 G5 开始)中所有数据的总和:


=SUMPRODUCT(--(group=G5)*data) // sum (526)

第二个 SUMPRODUCT 函数计算同一组中所有数据的计数:


SUMPRODUCT(--(group=G5)*(data<>"")) // count (12)

在计算完两个 SUMPRODUCT 公式后,最后一步是将总和除以计数:


=SUMPRODUCT(--(group=G5)*data)/SUMPRODUCT(--(group=G5)*(data<>""))
=526/12
=43.8

虽然 SUMPRODUCT 公式稍微复杂一些,但不需要像 Control + Shift + Enter 那样以特殊方式输入,因为SUMPRODUCT 本身就可以处理数组运算。

互动

查看数
6

为您推荐的类似文章

本文围绕快速上手Excel展开,提出以练代学的核心方法,指出通过一两周的实操练习可掌握主要功能,遇问题可借助搜索引擎解决。同时规划了五阶段学习路径:第一阶段熟悉基础环境,明确工作簿、单元格等概念,掌握数据填充与常用快捷键;第二阶段学习数据整理,包括行列调整、查找替换、排序筛选与分列功能;第三阶段聚焦函数应用,理解公式规则,掌握SUM、VLOOKUP等核心函数及引用类型;第四阶段学习可视化与分析,涵盖一键生成图表、条件格式与数据透视表;第五阶段汇总了文件操作、编辑输入等多类高效快捷键。

微软2026年为Microsoft 365带来的Excel函数更新,堪称办公效率革命,将自动化、动态化门槛从编程降至写公式。文章针对传统Excel办公的诸多痛点,介绍了10个新函数的实用场景:XLOOKUP可替代传统查找公式,解决反向查找、错误值等问题;XMATCH能逆向搜索定位最后一条记录;FILTER可生成自动刷新的动态报表;UNIQUE+SORT一键完成数据去重排序;SORTBY定义永恒排序规则;TEXTSPLIT无需分列向导即可拆解文本;SEQUENCE告别手动填充序列;RANDARRAY可快速生成模拟数据。这些新函数将大幅提升办公效率,让传统Excel用户面临淘汰。

本文聚焦职场必备的WPS表格函数公式,介绍了WPS表格因轻量免费、与Excel高度兼容,成为国内办公常用工具的优势。针对新手仅会基础求和公式的痛点,系统梳理了多类实用函数:统计类含SUM、COUNT等基础与高级统计函数;逻辑类有IF、AND等条件判断函数;文本类含LEFT、CONCATENATE等处理工具;日期类含TODAY、DATEDIF等计算函数;还有VLOOKUP等查找引用类函数,并搭配实例演示。同时解答了WPS与Excel函数差异、学习方法等常见问题,助力不同水平职场人提升办公效率。

本文针对多数Excel/WPS用户仅用10%功能、常因数据处理加班的痛点,结合2025年Excel和WPS最新版本,解析能解决95%工作数据问题的十佳函数公式,助力效率提升300%。文中依次讲解了基础高频的SUM/IF/ROUND三人组的进阶用法与新增IFS函数、可终结VLOOKUP的XLOOKUP查询函数优势及低版本替代方案、SUMIFS/COUNTIFS的多条件精准统计技巧、可实现动态数据处理的FILTER函数应用、能避免手动排序弊端的SORT/SORTBY自动排序系统,全为可直接上手的干货,帮用户告别加班。

针对职场人常因Excel数据处理熬夜、被重复整理工作折磨的痛点,本文结合2026年最新办公场景,整理升级了涵盖六大核心类别的40个Excel函数公式大全。其中详细拆解了求和计算、查找匹配、逻辑判断等类别的多个实用函数,每个公式均搭配具体使用场景、操作技巧及原理解析,如SUMIF单条件求和统计销售员业绩、INDEX+MATCH组合实现反向查找等,帮助用户建立系统的函数思维,而非单纯记忆语法,可高效解决职场中90%的Excel数据难题,彻底改变表格处理方式。

为您推荐的相关资源

多品类市场信息调研框架 | undefined

企业销售利润核算表 | undefined

存货计价审计工作底稿模板 | undefined

客户销售额月榜:排名与数据一览 | undefined

12城空调月度销售数据统计报表 | undefined