excel学习库

excel表格_excel函数公式大全_execl从入门到精通

149 Excel筛选数据非常慢,如何处理?

如果工作中需要处理一些表格的数据超过10万行,如ERP导出的销售记录、仓库出入库的流水记录等。这些数据因为本身数据量大,在执行Excel操作的时候,会发现下拉选择筛选条件的时候会非常慢?这是因为可筛选量太大的原因造成的。如果经常需要单条件筛选或者多条件筛选,或者实现类似ERP中的模糊筛选的功能,有没有什么好的方法,可以提高筛选速度?

对于上图中的问题,我们可以用筛选函数来解决这个问题,上文所说的三个需求分别对应筛选函数三个不同的写法,写好后可以当成一个小型查询系统放在Excel表中进行条件查询。

单条件筛选

这个是筛选函数的基础写法,利用FILTER函数的特性:

“=FIlter(筛选的数据,筛选条件,筛选不到时返回的结果)”

写出第一个单条件筛选函数的公式:

=FILTER(A4:D300003,D4:D300003=S2),这个公式的意思是在A4到D300003这个区域,符号D4到D300003等于S2(注塑车间)的筛选结果,第一个参数就是需要显示的筛选数据,第二参数就是条件。其中条件一定要包含在显示结果里面,不然函数报错。

为了方便显示放在同一张报表上了,可以看到近30万行数据,也是秒开得到运算结果,只需要在标记颜色处更改筛选条件即可得到对应不同的结果。

多条件筛选

多条件的筛选写法,只需要理解多条件中的布尔逻辑,判断是同时满足,还是或者满足,如果是同时的话,FILTER函数中的条件用符号“*”连接起不同的条件,如果是或者的话,用符号“+”连接起来。参考以下写法:

同时满足的写法:

=FILTER(A:D,(D:D=V2)*(C:C=W2))

对应的中文就是

=FIlter(筛选的数据,(筛选条件1)*(筛选条件1*)),新手需要注意的就是条件之间的括号不是搞错了。

或者满足的写法:

=FILTER(A:D,(D:D=AA2)+(D:D=AB2))

这里筛选出两家供应商的明细,可以发现数据没有排序,也可以对结果进行排序,这样可以把同类别的数据放在一起分析。把公式变成:

=SORT(FILTER(A:D,(D:D=AA2)+(D:D=AB2)),4)

这个思路也是分析数据的常见套路。效果见下图:

模糊筛选

有时候只记得某个关键字,想通过这个关键字来筛选,类似Excel中筛选框中录入一个关键字符,所有符号这个字符的条件都会显示出来的效果,这个功能只用筛选函数FILTER是做不到的,需要嵌套上搜索函数SEARCH。

如只刻部门中包含有一个字是“金”,先用SEARCH(函数搜索金在部门这个区域,返回错误的就是不包含金,返回数字的就是包含。再用函数把错误值通通返回0,注意一定要返回0。最后用这个结果做为筛选函数的第二条件,就可以返回模糊筛选了。

公式1:=SEARCH(AE2,D5:D30000)

公式2:=IFERROR(SEARCH(AE2,D5:D30000),0)

公式3:=FILTER(A5:D30000,IFERROR(SEARCH(AE2,D5:D30000),0))

结果如下图所示:

这里需要注意的是为什么不用函数FIND,因为函数FIND不支持通配符号搜索,如我想知道以车间结尾的部门有多少记录,条件可以直接录入:“*车间”,返回的结果如下图所示:

我是古哥:

从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接