返回列表或数据库中的合计。 AGGREGATE 函数可将不同的聚合函数应用于列表或数据库,并提供忽略隐藏行和错误值的选项。
语法
引用形式
AGGREGATE(function_num, options, ref1, [ref2], …)
数组形式
AGGREGATE(function_num, options, array, [k])
AGGREGATE 函数语法具有以下参数:
-
Function_num 必需。 一个介于 1 到 19 之间的数字,指定要使用的函数。
Function_num |
函数 |
1 |
AVERAGE |
2 |
COUNT |
3 |
COUNTA |
4 |
MAX |
5 |
MIN |
6 |
PRODUCT |
7 |
STDEV.S |
8 |
STDEV.P |
9 |
SUM |
10 |
VAR.S |
11 |
VAR.P |
1.2 |
MEDIAN |
1.3 |
MODE.SNGL |
14 |
LARGE |
15 |
SMALL |
16 |
PERCENTILE.INC |
17 |
QUARTILE.INC |
18 |
PERCENTILE.EXC |
19 |
QUARTILE.EXC |
-
选项 必需。 一个数值,决定在函数的计算区域内要忽略哪些值。
注意: 如果数组参数中包含计算(例如,=AGGREGATE(14,3,A1:A100*(A1:A100>0),1)),则函数不会忽略隐藏行、嵌套分类汇总或嵌套聚合
选项 |
行为 |
0 或省略 |
忽略嵌套 SUBTOTAL 和 AGGREGATE 函数 |
1 |
忽略隐藏行、嵌套 SUBTOTAL 和 AGGREGATE 函数 |
2 |
忽略错误值、嵌套 SUBTOTAL 和 AGGREGATE 函数 |
3 |
忽略隐藏行、错误值、嵌套 SUBTOTAL 和 AGGREGATE 函数 |
4 |
忽略空值 |
5 |
忽略隐藏行 |
6 |
忽略错误值 |
7 |
忽略隐藏行和错误值 |
-
Ref1 必需。 函数的第一个数值参数,这些函数具有要计算聚合值的多个数值参数。
-
Ref2,... 可选。 要计算聚合值的 2 至 253 个数值参数。
对于使用数组的函数,ref1 可以是一个数组或数组公式,也可以是对要为其计算聚合值的单元格区域的引用。 ref2 是某些函数必需的第二个参数。 以下函数需要 ref2 参数:
函数 |
LARGE(array,k) |
SMALL(array,k) |
PERCENTILE.INC(array,k) |
QUARTILE.INC(array,quart) |
PERCENTILE.EXC(array,k) |
QUARTILE.EXC(array,quart) |
备注
Function_num :
-
在将 AGGREGATE 函数输入到工作表上的单元格中时,只要键入 function_num 参数,就会立即看到可以作为参数使用的所有函数的列表。
错误:
-
如果第二个引用参数是必需的但未提供,AGGREGATE 将返回 #VALUE! 错误。
-
如果有一个或多个引用是三维引用,AGGREGATE 将返回 #VALUE! 错误值。
区域类型:
-
AGGREGATE 函数设计用于数据列或垂直范围。 不适用于数据行或水平区域。 例如,使用选项 1(例如 AGGREGATE (1、1、ref1) )对水平范围进行分类汇总时,隐藏列不会影响总和值。 但是,在垂直范围内隐藏行会影响聚合。
示例
复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。
#DIV/0! |
82 |
|
72 |
65 |
|
30 |
95 |
|
#NUM! |
63 |
|
31 |
53 |
|
96 |
71 |
|
32 |
55 |
|
81 |
83 |
|
33 |
100 |
|
53 |
91 |
|
34 |
89 |
|
公式 |
说明 |
结果 |
=AGGREGATE(4, 6, A1:A11) |
计算最大值,同时忽略区域中的错误值 |
96 |
=AGGREGATE(14, 6, A1:A11, 3) |
计算第 3 个最大值,同时忽略区域中的错误值 |
72 |
=AGGREGATE(15, 6, A1:A11) |
将返回 #VALUE! 错误。 这是因为 AGGREGATE 需要第二个 ref 参数,因为 SMALL) (函数需要一个参数。 |
#VALUE! |
=AGGREGATE(12, 6, A1:A11, B1:B11) |
计算中值,同时忽略区域中的错误值 |
68 |
=MAX(A1:A2) |
将返回错误值,因为计算区域中存在错误值。 |
#DIV/0! |