模块
目录
索引 🔎︎

## AVERAGEIF 函数

返回满足给定条件的区域中所有单元格的算术平均值。AVERAGEIF 函数求与逻辑测试匹配的所有结果之和, 然后除以选中值的数量.

### 语法

AVERAGEIF(范围; 条件 [; 平均范围 ])

范围 – 必填参数。数组、命名区域的名称或列/行的标签，包含用于求平均值但数字或构成条件的数字或文本。

条件 – 必填参数。表达式形式的条件或指向表达式的单元格引用, 定义哪些单元格应该用于计算均值。表达式可以包含文本、数字、正则表达式 (如果在计算选项中启用) 或通配符 (如果在计算选项中启用)。

平均范围 – 可选。用于计算平均值的值范围。

请注意, 如果未指定「平均范围, 则「范围」将同时用于平均值的计算和按条件搜索。如果指定了平均范围, 则 范围」仅用于条件测试, 而「平均范围」用于平均值计算。
「 条件」应为字符串表达式, 即，「条件」需要用引号括起来 ("条件"), 但函数名称、单元格引用和字符串连接操作 (&) 除外。

此功能是「用于 Office 应用程序的开放文档格式 (OpenDocument)」标准 1.2 版本的一部分。(ISO/IEC 26300:2-2015)

如果用于计算平均值的值范围内的单元格为空或包含文本, 则函数 AVERAGEIF 将忽略该单元格。
如果整个范围为空、仅包含文本或范围内的所有值均不满足条件 (或这些条件的任何组合), 则该函数将返回 #DIV/0! 错误。

### 示例

#### 考虑下表

| A | B | C
1 | 产品名称 | 销售 | 收入
2 | 铅笔 | 20 | 65
3 | 钢笔 | 35 | 85
4 | 笔记本 | 20 | 190
5 | 图书 | 17 | 180
6 | 笔袋 | not | not

在下面的所有示例中, 计算范围都包含行 #6, 该行将被忽略, 因为它包含文本。

在下面的所有计算中, 计算平均值的范围均包含行 #6, 但它将被忽略, 因为它包含文本。

#### 简单用法

「=AVERAGEIF(B2:B6;"<35")」

计算 B2:B6 范围小于 35 的数值的平均值。返回 19, 因为第二行不参与计算。

「=AVERAGEIF(B2:B6;"<"&MAX(B2:B6))」

计算范围内小于此范围最大值的所有值的平均值。返回 19, 因为最大的值 (第二行) 不参与计算。

「=AVERAGE(A1:A50)」

计算范围内大于此范围第一个最小值的所有值的平均值。返回 25, 因为第一个最小值 (第四行) 不参与计算。

#### 使用「平均范围」

「=AVERAGEIF(B2:B6;"<35";C2:C6)」

该函数在 B2:B6 范围内搜索哪些值小于 35, 并计算 C2:C6 范围内相应值的平均值。返回 145, 因为第二行不参与计算。

「=AVERAGE(A1:A50)」

该函数在 B2:B6 范围内搜索哪些值大于 B2:B6 范围中的最小值, 并计算 C2:C6 范围内的相应值的平均值。返回 113.3, 因为第四行 (B2:B6 范围内的最小值位于该行) 不参与计算。

「=AVERAGEIF(B2:B6;"<"&LARGE(B2:B6;2);C2:C6)」

该函数在 B2:B6 范围内搜索哪些值小于 B2:B6 范围中第二大的值, 并计算 C2:C6 范围内相应值的平均值。返回 180, 因为只有第四行参与计算。

#### 使用正则表达式

「=AVERAGE(A1:A50)」

该函数搜索 A2:A6 范围内的仅包含单词「pen」的单元格, 并计算 B2:B6 范围内相应值的平均值。返回 35, 因为只有第二行参与计算。搜索在 A2:A6 范围内执行, 但值从 B2:B6 范围返回。

「=AVERAGE(A1:A50)」

该函数搜索 A2:A6 范围中以「pen」开头, 以任意数量其他字符结尾的单元格, 并计算 B2:B6 范围内相应值的平均值。返回 27.5, 因为现在「pencil」也满足条件, 第一行和第二行都参与计算。

「=AVERAGE(A1:A50)」

该函数搜索 A2:A6 范围中包含「book」、以任意数量其他字符开始和结束的单元格, 并计算 B2:B6 范围内相应值的平均值。返回 18.5, 因为只有第三行和第四行参与计算。

#### 引用单元格作为条件

如果您需要轻松地更改一个条件, 可以考虑在单独的单元格中指定条件, 并在 AVERAGEIF 函数的条件中使用对该单元格的引用。

「=AVERAGE(A1:A50)」

该函数搜索 A2:A6 范围中包含 E2 中指定的字符、以任意数量其他字符开始和结束的单元格, 并计算 B2:B6 范围内相应值的平均值。如果 E2 = book, 则该函数返回 18.5。

「=AVERAGEIF(B2:B6;"<"&E2;C2:C6)」

该函数搜索 B2:B6 中小于 E2 指定值的单元格, 并计算 C2:C6 范围中相应值的平均值。如果 E2 = 35, 则该函数返回 145。

相关主题

AVERAGE, AVERAGEA, AVEDEV

COUNTIFS, MINIFS, MAXIFS, AVERAGEIFS, SUMIFS

正则表达式列表