如何用一个 Excel 过滤另一个 Excel

Posted xiaohuihui-11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用一个 Excel 过滤另一个 Excel相关的知识,希望对你有一定的参考价值。

可以用vlookup之类的函数解决这个问题,虽然整个过程不算太难,但只要数据发生变动,每次就要重复这个过程,这就显得太繁琐了。用VBA可以让这个过程自动化,但写法过于复杂,一般人很难掌握。

用esProc就简单多了,只需几行代码就能完成过滤:

  A B D
1 =file("param.xlsx").xlsimport() =A1.(_1) /打开存放参数的Excel,取第1列
2 =file("all.xlsx").xlsimport()   /打开存放完整数据的Excel。
3 =A2.select(B1.contain(_2))   /用B1过滤A2的第2列,返回符合条件的行。
4 =file("result.xlsx").xlsexport@A3)   /结果写入新Excel

按多列过滤也很简单。比如param.xlsx有两列,首行列名分别是cust和seller,要用这两列去过滤all.xlsx,代码应该写作:

  A B D
1 =file("param.xlsx").xlsimport@t() =A1.([cust.seller]) /@t表示首行是列名
2 =file("all.xlsx").xlsimport()    
3 =A2.select(B1.contain([_2,_3]))   /用B1过滤A2的第2、3列
4 =file("result.xlsx").xlsexport@A3)    

esProc有个网格式的桌面IDE,其实可以直接在里查看计算结果,也可以不必保存。

还有更多的针对Excel的计算案例:

SPL 解析及导出 Excel

excel 合并汇总

文本文件和 Excel 在 esProc 里处理方式相同,很多算法可以互相参考:

SPL 结构化文本计算

esProc 是专业的文件处理脚本,即安即用,调试方便,类库丰富,详情参考 文件处理器

关于集算器安装使用、获得免费授权和相关技术资料,可以参见 如何使用集算器

以上是关于如何用一个 Excel 过滤另一个 Excel的主要内容,如果未能解决你的问题,请参考以下文章

Excel过滤器在应用了另一个过滤器后为前n个值

数据表高级过滤器菜单,如 Excel 或 Kendo UI Grid?

如何用VBA新建一个EXCEL表,并将将另一个EXCEL表中的内容复制到这个新建的EXCEL表中

自动过滤从访问中打开的受保护的 Excel 工作表

Excel 上的 Pin 标题和第一行,如带有过滤器的表格

复制自动过滤范围,vba excel