Excel AverageIf函数使用方法的7个实例,包含条件区域与求平均值区域不一致

亮术网 2019-09-12 本网原创

在 Excel 中,AverageIf函数用于单条件求平均值,它至少要有两个参数,最多只能有三个参数;如果只有两个参数,则第一个参数既为条件区域又为求平均值区域;如果有三个参数,第一个参数为条件区域,第三个参数为求平均值区域。

AverageIf函数中的条件区域与求平均值区域既可大小一致又可不致,如果它们不一致,将以条件区域确定实际求平均值区域;另外,两个区域的起始单元格必须相同,否则将返回错误值。

 

一、Excel AverageIf函数的语法

1、表达式:AVERAGEIF(Range, Criteria, [Average_Range])

中文表达式:AVERAGEIF(条件区域或求平均值区域, 条件, [求平均值区域])

 

2、说明:

A、Range 既可以是条件区域又可以是求平均值区域,如果省略 Average_Range,则 Range 为求平均值区域;如果有 Average_Range,则Range 为条件区域。

B、Average_Range 为求平均值区域;如果 Range 与 Average_Range 选定的区域不一致,将以 Range 选定的区域为基准确定求平均值的区域;例如 Range 选定的区域为 B2:B5,Average_Range 选定的区域为 C2:C3,则实际求平均值的区域为 C2:C5;若 Range 选定的区域为B2:B3,Average_Range 选定的区域为 C2:C5,则实际求平均值的区域为 C2:C3。

C、如果 Range 或 Average_Range 选定的单元格区域有逻辑值 True 或 False,它们将被忽略。如果 Range 选定的单元格区域全为空值,将返回除数为 0 错误 #DIV/0;如果 Range 为求平均值区域且选定的单元格区域有文本(指不能转为为数值的文本),将返回除数为 0 错误 #DIV/0。如果 Average_Range 选定的单元格区域有空单元格,它们将被忽略。

D、Criteria 可以是数字、文字(如“员工”)、表达式(如 ">=2" 或 ">="&2)和单元格引用。另外,在条件中还可以使用通配符问号(?)和星号(*),问号表示任意一个字符,星号表示一个或一串字符,如果要查找问号或星号,需要在它们前面加转义字符 ~,例如 ~?、~*。

E、如果 Criteria 中有空单元格,将被视为 0 值;如果选定的区域没有满足条件的单元格,将返回除数为 0 错误 #DIV/0!。

 

 

二、Excel AverageIf函数的使用方法及实例

一)Range 为求平均值区域的实例

1、双击 D8 单元格,把公式 =AVERAGEIF(D2:D7,">2000") 复制到 D8,按回车,返回求平均值结果 2583.33;操作过程步骤,如图1所示:

图1

2、公式 =AVERAGEIF(D2:D7,">2000") 省略了求平均值区域参数 Average_Range,因此把 Range 作为求平均值区域,也就是把 D2:D7 作为求平均值区域;">2000" 是条件,公式的意思是:求 D2:D7 中大于 2000 的所有销量的平均值。

 

(二)Range 为条件区域与 Average_Range 求平均值区域的实例

1、双击 D8 单元格,把公式 =AVERAGEIF(B2:B7,"瓜类",D2:D7) 复制到 D8,按回车,返回求平均值结果 2850;操作过程步骤,如图2所示:

图2

2、公式 =AVERAGEIF(B2:B7,"瓜类",D2:D7) 中,B2:B7 为条件区域,"瓜类" 为条件,D2:D7 为求平均值区域;公式的意思是:在 B2:B7 中查找所有“瓜类”,若找到,则返回 D2:D7 中对应的数值。

 

(三)Range 和 Average_Range 中有逻辑值 True 或 False 的实例

1、双击 C1 单元格,把公式 =AVERAGEIF(A1:A5,TRUE,B1:B5) 复制到 C1,按回车,返回除数为 0 错误 #DIV/0!;双击 C1,把 TRUE 改为 1,按回车,返回求平均值结果 100;操作过程步骤,如图3所示:

图3

2、公式 =AVERAGEIF(A1:A5,TRUE,B1:B5) 的条件为 TRUE,A1 至 A5 中虽然有 TRUE,但结果返回 #DIV/0!,说明 TRUE 不能作为条件,因为 AverageIf函数忽略 Range 中的逻辑值;而公式 =AVERAGEIF(A1:A5,1,B1:B5) 中的条件为 1,A1:A5 中有 A2 和 A4 值为 1,它们分别对应 B2 和 B4,B2 为 100,B4 为 TRUE,而求平均值结果为 100,说明 TRUE 被忽略。

 

(四)Range 选定单元格区域全为文本或空值的实例

1、双击 D8 单元格,把公式 =AVERAGEIF(B2:B7,"瓜类",D2:D7) 复制到 D8,按回车,返回求平均值结果 2850;框选 B2:B7,按 Delete 把里面的内容删除,则 D8 中的值变为除数为 0 错误 #DIV/0;按 Ctrl + Z 取消,双击 D8,把 “,D2:D8” 删除,按回车,返回除数为 0 错误 #DIV/0;选中 B4,输入 50,D8 中仍然是 #DIV/0;操作过程步骤,如图4所示:

图4

2、当把 D2:D8 中的所有内容删除外,公式 =AVERAGEIF(B2:B7,"瓜类",D2:D7) 返回除数为 0 错误 #DIV/0,说明 Range 选定的单元格区域为空时,AverageIf函数返回除数为 0 错误;公式 =AVERAGEIF(B2:B7,"瓜类") 返回除数为 0 错误 #DIV/0,说明 Range 为条件区域与求平均值区域时,若所选定区域有文本,AverageIf函数也返回除数为 0 错误。

 

五)选定的区域没有满足条件的单元格,返回除数为 0 错误 #DIV/0! 的实例

1、双击 A8 单元格,把公式 =AVERAGEIF(A2:A7,"荔枝") 复制到 A8,按回车,返回除数为 0 错误 #DIV/0;操作过程步骤,如图5所示:

图5

2、公式 =AVERAGEIF(A2:A7,"荔枝") 在 A2:A7 中找“荔枝”,但 A2:A7 没有“荔枝”,所以返回除数为 0 错误 #DIV/0。

 

(六)使用通配符 ? 和 * 的实例

(1)使用通配符 ?

1、双击 B9 单元格,把公式 =AVERAGEIF(B2:B8,"??衬衫",E2:E8) 复制到 B9,按回车,返回求平均值结果 892;双击 B9,把条件 "??衬衫" 改为 "粉红?",按回车,返回除数为 0 错误 #DIV/0!;操作过程步骤,如图6所示:

图6

2、公式 =AVERAGEIF(B2:B8,"??衬衫",E2:E8) 中的条件为 "??衬衫",意思是在 B2:B8 中查找以任意两个字开头且以“衬衫”结尾的服装,只有 B2 符合条件;条件 "粉红?" 意思是在 B2:B8 中查找以“粉红”开头且“粉红”后只有一个字的服装,由于没有符合条件的服装,所以返回除数为 0 错误。

 

(2)使用通配符 *

1、双击 B9 单元格,把公式 =AVERAGEIF(B2:B8,"*衬衫",E2:E8) 复制到 B9,按回车,返回求平均值结果 720;双击 B9,把条件 "*衬衫" 改为 "粉红*",按回车,返回求平均值结果 661;操作过程步骤,如图7所示:

图7

2、公式  =AVERAGEIF(B2:B8,"*衬衫",E2:E8) 中的条件为 "*衬衫",意思是在 B2:B8 中查找以任意一个或多个字符开头且以“衬衫”结尾的服装,有 B2、B5、B7 和 B8 符合条件;条件 "粉红*" 意思是在 B2:B8 中查找以“粉红”开头的服装,有 B2、B5 和 B7 符合条件。

 

(七)Range 与 Average_Range 选定的区域不一致的实例

(1)Range 大于 Average_Range

1、双击 D8 单元格,把公式 =AVERAGEIF(B2:B7,"瓜类",D2:D3) 复制到 D8,按回车,返回求平均值结果 2850;操作过程步骤,如图8所示:

图8

2、公式 =AVERAGEIF(B2:B7,"瓜类",D2:D3) 中条件区域 B2:B7 与求平均值区域 D2:D3 不一致,条件区域比求平均值区域长,求平均值结果为 2850,而 D2:D3 中“分类”为“瓜类”只有 B3,它的值为 3500,说明计入求平均值的不止 B3,还把同为“瓜类”的 D7 中的 2200 也计入了求平均值,即求平均值范围不是 D2:D3,而是 D2:D7。

 

(2)Range 小于 Average_Range

1、双击 B9 单元格,把公式 =AVERAGEIF(B2:B5,"瓜类",D2:D7) 复制到 B9,按回车,返回求平均值结果 3500;操作过程步骤,如图9所示:

图9

2、公式 =AVERAGEIF(B2:B5,"瓜类",D2:D7) 中条件区域 B2:B5 比求平均值区域 D2:D7 小,而实际的求平均值区域为 D2:D5,从返回的求平均值结果 3500 可知。

 

(3)Range 与 Average_Range 起始不一致返回错误值

1、双击 B9 单元格,把公式 =AVERAGEIF(B2:B7,"瓜类",D3:D5) 复制到 B9,按回车,弹出一个提示“存在一个或多个循环引用”提示窗口,按回车“确定”后返回 0;操作过程步骤,如图10所示:

图10

2、公式 =AVERAGEIF(B2:B7,"瓜类",D3:D5) 中条件区域 B2:B7 与求平均值区域 D3:D5 起始行不一致,一个是 B2,另一个 D3,这样会返回错误值。

从上面三个实例可以看出,如果条件区域与求平均值区域不一致,它们的起始单元格必须相同;另外,实际求平均值区域仅包含条件区域对应的区域。