打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
函数不是万能的!多工作表单列提取不重复值
你好,我是刘卓。欢迎来到我的公号,excel函数解析。昨天有人问了我一个问题,提取多个分表中某一列的不重复值到总表的某一列,函数公式怎么写?
对于多表提取不重复值这个问题,提问者强烈要求用函数来完成。我相信ta有自己的原因,不过我还是想说函数不是万能的,尤其是你的数据量大的时候,会很卡。
另外在多表数据合并多表提取不重复值等问题上,使用函数并没有优势,反而对你函数的功底要求很高,就算我学了好几年的函数,也觉得这种问题很难。
所以,我们要合理利用各种工具,哪种方法简单就用哪种方法。当然,如果你是想深入研究的话,那就例外了。下面就分享下这个问题的方法吧。
-01-

vba代码法


下图中,我简单模拟了一些数据。3个分表中的A列分别记录了一些姓名,现在要把这些表中不重复的姓名提取到总表的A列。只需点击一下按钮,就完成了。
学过vba代码的同学都知道,这个问题用代码很简单。把各分表A列的姓名循环装入字典中,去重处理一下,再把字典的关键字输出到总表A列中就可以了。

-02-

函数法

虽然用函数很难,但我还是做了一下,大概用了一个多小时。为了和代码做出来的结果对比,我把公式放在B列。在B1单元格输入下面的公式,按ctrl+shift+enter三键,下拉填充。

=IFERROR(INDEX(hbmd,SMALL(IF(MATCH(hbmd,hbmd,)=zgs,zgs),ROW(A1))),"")

在公式中,你会看到hbmdzgs。这是两个定义名称,实际上公式中远不只这两个名称,共用了6个名称,如下2图所示。第1图是6个名称,第2图是名称的简要说明和公式。

用函数做这个绝对是个大工程,绝对的费力不讨好。而且可能还会有问题,我这里“总表”是放在最后位置的,如果放在最前或中间位置,此公式会有问题,还需进一步改进。但用vba代码就不会有这个问题。

公式我暂时也不解释了,确实是太难了,没有一定的基础是看不懂的,想研究的小伙伴自己下载文件查看吧!

另外,有极少数人问我有没有函数课程可以学,目前只有公号文章。以后会考虑出课程的。

文件链接:

https://pan.baidu.com/s/1Q5aLUhnE8319DEGixdmDqg

提取码:2r4b
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
excel拆分合并技巧:将工作表合并成总表的方法
一键搞定!根据总表生成多个分表,根据分表生成目录
Excel多表合并一定要用VBA代码吗?
不用VBA,用IF函数就能实现总表录入数据分表自动生成,简单易学
如何运行VBA代码?其实很简单
怎么快速提取一个excel文件中的所有工作表名?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服