返回列表或数据库中的合计。 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! |