跳转至

AVERAGEIF 函数

1. 函数概述

AVERAGEIF 用于按条件计算平均值:在一组数据中,先筛选出满足指定条件的单元格,再对这些单元格(或另一组对应单元格)求平均。

你可以把它理解为:“有条件的 AVERAGE(平均值)”。它在日常数据分析中很常见,比如:

  • 计算“某个品类”的平均销量
  • 统计“分数大于等于 60”的平均分
  • 求“某区域”的平均订单金额
  • 按条件对一列筛选,再对另一列求平均(例如筛选城市后算客单价)

2. 基础语法

=AVERAGEIF(range, criteria, [average_range])

3. 参数说明

参数名 是否必填 含义 常见填写方式
range 必填 用于判断条件的区域 一列/一行数据,如 A2:A100
criteria 必填 筛选条件 数字、表达式、文本、通配符,或引用单元格
[average_range] 可选 实际求平均的区域 range 形状一致的区域,如 B2:B100

重点:

  • 不写 average_range:对 range 中满足条件的单元格本身求平均
  • 写了 average_range:用 range 做条件筛选,但对 average_range 中对应位置的数据求平均

3.1 criteria(条件)写法速查

条件类型 示例 说明
数值比较 ">=60""<100" 必须用引号包起来
等于某值 "北京""A" 文本条件需要引号
引用单元格 E2">"&E2 纯“等于”可直接引用;带比较符要拼接
通配符 "A*""*销售*" * 任意长度字符;? 单个字符

4. 基础用法示范

下面用一份简单的数据来演示。假设你有如下表格:

A列:地区 B列:销售额 C列:订单数
华东 1200 12
华北 800 9
华东 1500 15
华南 900 10
华东 1100 11

4.1 对满足条件的“同一列”求平均

需求:计算销售额中 大于等于 1000 的平均值。

=AVERAGEIF(B2:B6, ">=1000")

解释:

  • 条件判断区域是 B2:B6
  • 满足 >=1000 的那些销售额本身参与平均

4.2 按文本条件筛选

需求:计算“华东”地区的平均销售额。

=AVERAGEIF(A2:A6, "华东", B2:B6)

解释:

  • A2:A6 用来判断是否为“华东”
  • B2:B6 用来计算平均销售额

4.3 条件来自单元格

假设 E2 填的是地区(例如 华东),你希望公式可随 E2 改动自动统计:

=AVERAGEIF(A2:A6, E2, B2:B6)

这类写法非常适合做报表模板或仪表板。


4.4 “比较符 + 单元格”的条件拼接

假设 E2 是阈值(例如 1000),需求是:销售额 大于等于 E2 的平均订单数(注意:这里平均的是订单数,不是销售额)。

=AVERAGEIF(B2:B6, ">="&E2, C2:C6)

解释:

  • B2:B6 判断是否达到阈值
  • 对应行的 C2:C6 订单数参与平均

4.5 通配符条件:按前缀/包含关系筛选

需求:统计所有地区名以“华”开头的平均销售额(如“华东/华北/华南”)。

=AVERAGEIF(A2:A6, "华*", B2:B6)

如果想统计地区名包含“东”的平均销售额:

=AVERAGEIF(A2:A6, "*东*", B2:B6)

5. 总结

AVERAGEIF 是 Excel 中用于单条件平均的核心函数,掌握它基本就能覆盖大量“按条件算平均”的需求。

  • range 指定“筛选依据”
  • criteria 写清楚“筛选条件”(尤其注意比较符要用引号,引用阈值要拼接)
  • 需要“筛选一列、平均另一列”时,别忘了填 [average_range]
  • 文本筛选和通配符(*?)在分组统计里非常高频