AGGREGATE函数返回列表或数据库中的合计。AGGREGATE函数消除了条件格式的限制,如果区域中存在错误,则数据条、图标集和色阶将无法显示条件格式。这是因为当计算区域存在错误时,MIN、MAX和PERCENTILE函数不进行计算。同样,LARGE、SMALL和STDEVP函数也会影响某些条件格式规则的相应功能。通过使用AGGREGATE函数,将忽略这些错误。AGGREGATE函数可以将不同的聚合函数应用于列表或数据库,并提供忽略隐藏行和错误值的选项。 图1
什么情况下使用AGGREGATE函数? AGGREGATE函数是在Excel 2010中引入的一个非常强大的函数,可以对列表或数据库应用不同的聚合函数并忽略隐藏行和错误值。它能够:
AGGREGATE函数语法 AGGREGATE函数有两种形式,一种是引用形式,一种是数组形式。其引用形式语法如下:
其数组形式语法如下:
AGGREGATE函数陷阱 如果第二个引用参数是必需的但未提供,那么AGGREGATE将返回错误值#VALUE!。如果有一个或多个引用是三维引用,那么AGGREGATE将返回错误值#VALUE!。如果在Excel 2007或之前的版本打开AGGREGATE工作簿将返回#NAME?。 如果ref1,ref2,…中有其他AGGREGATE(或嵌套AGGREGATE),将忽略这些嵌套AGGREGATE,避免重复计算。如果AGGREGATE函数的引用中包含SUBTOTAL,那么将忽略这些SUBTOTAL。如果SUBTOTAL函数中包含AGGREGATE,那么将忽略这些AGGREGATE。 AGGREGATE函数适用于数据列或垂直区域,不适用于数据行或水平区域。 AGGREGATE函数仅适用于2010及其后的版本。参数function_num指定的函数代号中,1至13不能处理数组操作,14至19可以处理数组操作。例如,5代表MIN函数,但不能用于获取最小值的数组运算,可以使用15代表的SMALL函数来获取最小值。
示例1: 计算最大值、最小值、中值等 在下图2所示的工作表,数据单元格区域为A1:B11,其中单元格A1和A4中含有错误值。使用AGGREGATE函数来计算最大值、最小值、中值等。 图2
示例2: 计算满足多条件的数据最大值 如下图3所示的工作表,在单元格区域A1:C12中是不同超市的水果销售数据。现在想要知道,除中心超市外,榴莲和苹果在其他超市的最大销量。在单元格A16和A17中列出了水果名,在B16中的公式为: =AGGREGATE(14,6,$C$2:$C$12/(($A$2:$A$12<>$E$2)*($B$2:$B$12=A16)),1) 向下复制到单元格B17。 图3
示例3: 提取满足多个条件的数据 如图4所示,在单元格区域A4:D14中是数据,在单元格区域B1:D2中设置了条件,要从A4:D14中提取满足B1:D2条件的数据并放置到单元格F5开始的区域中。本例中,要提取张三在2017年5月1日至2017年12月1日之间的销售数据。 图4 在单元格F5中的公式为: =IFERROR(INDEX(A$5:A$14,AGGREGATE(15,6,(ROW($A$5:$A$14)-ROW($A$5) 1)/(($A$5:$A$14>=$B$2)*($A$5:$A$14<=$C$2)*($C$5:$C$14=$D$2)),ROWS(F$5:F5))),'') 拖动公式单元格至I5,然后向下拖动至没有数据即可。
本文属原创文章,转载请注明出处。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。 |
|
来自: L罗乐 > 《Excel公式与函数之美》