ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] FILTER函数数据多就卡,是否有更好的函数

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-7-6 16:29 | 显示全部楼层
zbcpgy 发表于 2024-7-6 16:24
感谢您的关注,因为要根据条件动态帅选所有的数据,以前index+match要加好几个辅助列,虽然麻烦但不卡, ...

上传附件,很多事情不是用语言就可以描述清除的
还有说明你用的EXCEL版本,或更改主页信息(主页信息显示你用的2007-2013但你有出来个FILTER)

TA的精华主题

TA的得分主题

发表于 2024-7-6 16:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zbcpgy 发表于 2024-7-6 16:27
实现多条件动态帅选filter函数功能确实强大,现在最大的问题就是卡,不知还有啥函数能替代。

数据量多大?数据源格式是什么样?

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-6 16:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
小凡、、、 发表于 2024-7-6 16:25
filter 很消耗内存数组的效率,整列用比大多函数消耗的内存要多,所以卡顿正常,尽量不要整列引用

是哦,filter动态帅选功能确实强大,但数据量稍大些但就会卡

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-6 16:36 | 显示全部楼层
ww87725244 发表于 2024-7-6 16:30
数据量多大?数据源格式是什么样?

因为要动态帅选符合条件的数据,涉及的条件也比较多,数据量稍微大些就卡

TA的精华主题

TA的得分主题

发表于 2024-7-6 17:41 | 显示全部楼层
FILTER函数确实可能导致Excel卡顿,尤其是在处理大量数据时。

替代方案:

  • 高级筛选: 使用Excel的内置高级筛选功能。
  • 数据透视表: 创建数据透视表来分析和筛选数据。
  • Power Query: 使用Power Query进行数据处理和筛选。
  • VBA: 编写自定义VBA代码来实现筛选功能。
  • INDEX和MATCH组合: 使用这两个函数的组合来实现类似的筛选效果。

使用FILTER时的优化建议:

  • 限制数据范围: 只在必要的范围内使用FILTER。
  • 避免嵌套: 尽量避免在FILTER内部使用复杂的嵌套函数。
  • 使用表格: 将数据转换为表格格式,可能提高性能。
  • 减少公式复制: 不要将FILTER公式复制到大范围的单元格中。
  • 关闭自动计算: 在进行大量操作时,可以暂时关闭自动计算。
  • 使用64位Excel: 如果可能,使用64位版本的Excel以提高性能。

评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-6 21:12 | 显示全部楼层
剑指E 发表于 2024-7-6 16:29
上传附件,很多事情不是用语言就可以描述清除的
还有说明你用的EXCEL版本,或更改主页信息(主页信息显 ...

您好:现找了点数据请看下是否能改用其它函数 24-7-6临时.rar (67.9 KB, 下载次数: 7)

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-6 21:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
剑指E 发表于 2024-7-6 16:16
关键看你用FILTER干啥,如果以前用index+match,那你大概率是用错函数了,XLOOKUP试试
能用查询函数解决的 ...

已经发了数据请看下

TA的精华主题

TA的得分主题

发表于 2024-7-6 21:20 | 显示全部楼层
  1. =UNIQUE(FILTER(F2:F2377,1-ISERR(VDB(,,C2:C2377,B2:B2377,I2)*VDB(,,E2:E2377,D2:D2377,J2))))
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-6 21:25 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-7-6 22:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
可以试试vba,才0.04秒,非常快的了,不知道你的数据量多少,不妨尝试一下,仅供参考。。。
这个vba简单的不得了
image.png
image.jpg

24-7-6临时.zip

79.24 KB, 下载次数: 3

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-29 07:31 , Processed in 0.038797 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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