Excel 公式

Excel AVERAGEIF 按条件求平均怎么用

更新于 2026-06-04 · 阅读约 7 分钟

想算销售部的平均工资、数学课的平均分、某个地区的平均销售额——这类「只对满足条件的行求均值」的需求,Excel 里有专门的函数:AVERAGEIF(单条件)和 AVERAGEIFS(多条件)。本文把写法、参数顺序、最容易踩的几个坑一次讲清,再给你介绍一个不用写函数就能出所有分组均值的做法。


超级表中按维度分组求平均值的示意
按条件求平均——超级表「分组汇总」把汇总方式选成「平均」即可。

AVERAGEIF:单条件按条件求平均

AVERAGEIF 的语法是:

=AVERAGEIF(条件区域, 条件, 求平均的区域)

举个例子:表格 A 列是「部门」,B 列是「工资」,要算销售部的平均工资,在空白单元格写:

=AVERAGEIF(A2:A100, "销售部", B2:B100)

三个参数依次是:

  • A2:A100:用来判断条件的那一列(部门列);
  • "销售部":匹配的条件,文本要加双引号;
  • B2:B100:真正用来求平均的数值列(工资列)。

如果条件写在某个单元格(比如 D2),可以直接引用,不加引号:

=AVERAGEIF(A2:A100, D2, B2:B100)

条件还支持通配符。比如只要部门名里包含「销售」的都算进去:

=AVERAGEIF(A2:A100, "*销售*", B2:B100)

或者算工资大于 8000 的平均工资:

=AVERAGEIF(B2:B100, ">8000")

注意:当条件区域和求平均区域是同一列时,第三个参数可以省略——直接 =AVERAGEIF(B2:B100, ">8000") 即可。

AVERAGEIFS:多条件按条件求平均

需要同时满足多个条件,就用 AVERAGEIFS。语法比 AVERAGEIF 稍有不同:

=AVERAGEIFS(求平均区域, 条件区域1, 条件1, 条件区域2, 条件2, …)

关键区别:AVERAGEIFS 的「求平均区域」排在第一位,条件区域和条件从第二个参数开始成对出现。这是新手最容易搞反的地方。

例子:算销售部中工资高于 8000 的员工平均工资:

=AVERAGEIFS(B2:B100, A2:A100, "销售部", B2:B100, ">8000")

再加一个条件——只看 2025 年入职的(C 列为入职年份):

=AVERAGEIFS(B2:B100, A2:A100, "销售部", B2:B100, ">8000", C2:C100, 2025)

条件对数没有上限,按需叠加即可。

常见易错点

即使公式写对了,结果也可能不对。下面是几个高频踩坑场景:

空值和 0 值的处理方式不同

AVERAGEIF / AVERAGEIFS 在计算均值时,空白单元格不参与平均,但 0 会参与平均并拉低结果。如果数据里有本该是空白但实际填了 0 的单元格,平均值会偏低。遇到这种情况,可以先用条件把 0 排除:

=AVERAGEIFS(B2:B100, A2:A100, "销售部", B2:B100, "<>0")

参数顺序不要搞反

AVERAGEIF 是「条件区域 → 条件 → 求平均区域」;AVERAGEIFS 是「求平均区域 → 条件区域1 → 条件1 → …」。两个函数顺序不一样,混用时很容易出错,写的时候最好对着参数提示慢慢确认。

文本条件必须加引号

条件是文本时(如 "销售部"">8000")必须加英文双引号,否则会报错或计算结果异常。如果条件引用的是单元格(如 D2),则不加引号直接写单元格地址。

条件区域和求平均区域大小必须一致

比如条件区域写了 A2:A100,求平均区域也要是 B2:B100(99 行),两者行数不一样会返回错误。

总结一下
AVERAGEIF 要记三参数顺序;AVERAGEIFS「求平均区域放最前」;空值不算入,0 会算入;条件文本加引号;两个区域行数一致。

更简单:用超级表「分组汇总」选「平均」,点几下出所有组的均值

超级表(TableDI)是一款桌面端高能表格助手,支持 macOS 和 Windows,本地离线运行,不需要登录。它的「分组汇总」功能可以一步出所有分组的均值,不用一个部门写一条 AVERAGEIF。步骤:

  1. 把数据导入超级表(Excel / CSV 直接拖进来,或粘贴)。
  2. 点击顶部工具栏的「分组汇总」
  3. 在「分组维度」里选你要分组的列,比如「部门」。
  4. 在「汇总方式」里把目标列(如「工资」)的汇总方式改为「平均」
  5. 点击确认——所有部门的平均工资一次全出来,无需写公式。

如果需要多维度分组(比如同时按部门 + 年份分组),在分组维度里多选几列即可,超级表会自动计算每个组合的均值。想同时看某组的均值和总和,汇总方式可以对同一列同时选「平均」和「求和」,两列数字并列展示。

汇总结果还可以直接导出 Excel,或者进一步连接看板,让图表随数据实时更新。

AVERAGEIF 公式 vs 超级表分组汇总

对比项Excel AVERAGEIF / AVERAGEIFS超级表分组汇总
操作方式手写公式,记参数顺序点选维度和汇总方式,无需写公式
一次看所有分组每个分组写一条公式一次出所有组的均值
多条件组合AVERAGEIFS 参数增多,易写错多选维度列即可
同时看均值+总和需要写两列不同公式同一列选多种汇总方式
数据更新后公式自动重算(需注意范围是否够)分组结果自动刷新
连接图表看板需要额外搭建内置看板,均值可直接图形化

常见问题

单元格里有空格,算不算进平均值?

空白单元格不算。但如果单元格里有空格字符(看上去是空的,实际存了一个或多个空格),Excel 会当作文本处理,条件为文本的 AVERAGEIF 可能错误匹配。建议先用 TRIM 函数或「查找替换」清理空格后再做统计;在超级表里可以用 AI 处理功能一键清洗。

AVERAGEIF 和 AVERAGE 有什么区别?

AVERAGE 是对一个区域里所有数值无条件求均值,不管哪个部门、哪个类别全部算在一起。AVERAGEIF 则只对满足条件的行求均值,相当于「先筛选,再 AVERAGE」。如果你只想先筛选数据再看均值,也可以直接用 Excel 的筛选功能配合状态栏的平均值,但无法直接写进单元格供后续引用。

能同时算某部门的均值和总和吗?可以链接到哪里?

在 Excel 里需要分别写 AVERAGEIFSUMIF 两个公式——关于 SUMIF 的详细写法可以看Excel SUMIF 按条件求和。在超级表里,分组汇总一次选多种汇总方式(均值 + 求和),结果并列显示,导出或接看板都支持。

不想每次都写 AVERAGEIF 公式?

免费下载超级表,分组汇总选「平均」,点几下出所有组均值,无需记参数

免费下载(macOS / Windows)