ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 10424|回复: 27

[原创] 全能王函数aggregate

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-6-11 23:13 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:AGGREGATE
本帖最后由 流浪铁匠 于 2019-6-11 23:15 编辑

【题外话,这篇是我在EH公众号投稿的原文文件,公众号上的文章祝老师嫌难了略有删减(吐血),而且由于文章里我的原文的一个备注,其中一个案例的参数在实际文章里被祝老师略微修改引起读者质疑,因此这里顺道解释下】

当时考虑是微信文章的投稿,故篇幅问题这函数介绍得不算详细
这里先解释下这函数的3个优越性质:
1,可以忽略内存数组里的错误值
2,在很多情况下可以使数组运算公式且不需要三键!
3,多种统计效果(这函数1/2参数统计方式过多请自行使用F1查看)

应用案例
1,多个不连续区域忽略错误值直接求和
这个函数的强大之处就是在于2参可以指定参数来忽略错误值直接统计


2,筛选状态下忽略错误值直接统计


b1.jpg

全能王aggregate.rar

228.51 KB, 下载次数: 751

评分

11

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-11 23:17 | 显示全部楼层
本帖最后由 流浪铁匠 于 2019-6-11 23:28 编辑

3,  1/2参数配合下实现1个公式解决多种统计效果(区域数组公式)

b2.jpg
区域数组公式,要选取完c17:d22区域后在编辑栏写完公式ctrl+shift+enter三键录入


4,向上求和你们都会,哪怕是筛选下的
向下呢
b3.jpg

除了向下求和的方向外还有隐藏和错误值,这是subtotal+sum(if)都无法实现的统计效果
(录入方法是选取区域定位空值后编辑栏写完公式ctrl+enter批量填充)

5,这条开始才是重点-条件极值统计
这函数的出现提早了2个版本就实现了maxifs和minifs(2016新增函数)的统计效果而且不需要三键(条件第n小其实minifs都不方便实现)

b4.jpg

6,不重复的第n大和第n小
又是个借助aggregate性能不三键实现的公式,如果看完上面的例子,会知道这里要统计不重复的第n大的话把1参数改为14即可

7,众所周知,万金油组合在2019被filter函数秒杀
但2010-2016阶段想要不三键的一对多公式,万金油组合用aggregate函数替代下也是能实现的

b5.jpg

8,内存数组忽略错误值统计最大值

b6.jpg

这题如果用max,除了三键外通常要配合text将内存数组的文本内容强制转化为0,避免 - -的减负运算转数值时产生的错误值
aggregate比较暴力,直接忽略错误值取最大值了


评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-11 23:23 | 显示全部楼层
本帖最后由 流浪铁匠 于 2019-6-11 23:30 编辑

9,多种组合解决条件双极值问题
一题多解,错了,是一个函数的多解:同时求条件对应的最大最小值,
如果分开用max/min+if不提,函数里有所谓四大金刚,因为这4个函数可以利用2参数k值的变化来分别同时统计最大值和最小值
然而aggregate可以实现这4个函数的全部原理解法,并有着自己的参数性质才能实现的第5个解法,堪称四大金刚之五

b7.jpg

关于最后这个案例,原文里解法5备注14可以改为16,而祝老师在文章里也使用了16
被读者质疑要改回14,但这其中只是不同参数下对应函数不同罢了
14对应larege
而16对应percentile函数,这是百分比值函数,此时k值为1同样取对应的条件最大值
如果使用17,对应四分位函数quartile,此时若求对应最大值,k值需要使用4

这个函数,其特性就在于1参数为14-19范围时存在4参数k值,此时3参数是支持数组的,
此时就能玩出各种应用来替代不能直接忽略错误值的small/large等函数
也能替代不支持数组的subtotal函数
但缺陷也在这里,这函数只有1参数为14-19时,3参数才支持数组,这严重影响了这个函数的应用范围
(我一直有句戏言"请支持aggregate函数全参数支持数组法案",就是这个原因,如果真的能全参数支持数组,那么基本没sum,max这些函数的事了)

当然,这函数有1点是无法替代subtotal的,因为aggregate不支持多维引用
筛选状态下涉及多维引用的问题,目前subtotal还是无法替代的,这个下次再聊

TA的精华主题

TA的得分主题

发表于 2019-6-12 08:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-6-12 08:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-6-13 14:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
标记一下,试一下是不是就不卡了

TA的精华主题

TA的得分主题

发表于 2019-6-13 16:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
果然功能强大。

TA的精华主题

TA的得分主题

发表于 2019-6-13 17:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
感谢分享!学习了。不过2016版本里有maxifs函数吗?好像没有啊。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-13 17:29 | 显示全部楼层
kuangben8 发表于 2019-6-13 17:15
感谢分享!学习了。不过2016版本里有maxifs函数吗?好像没有啊。

之前有段时间可以,现在需要是365或2019了
但这批函数最早出现就是在2016版本(switch,ifs,maxifs,minifs,concat,textjoin)
所以在2010-2016阶段都可以用aggregate替代maxifs

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-6-14 15:19 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 1055751654 于 2019-6-14 21:09 编辑

呼叫铁匠,呼叫铁匠,听到请回答

改公式晕倒了,没有两百万不起来
微信截图_20190614151410.png
Screenshot_2019-06-14-21-03-54.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-4 01:26 , Processed in 0.058001 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表