码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-05-12 16:57:21      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:body   问题   idt   imp   很多   processor   文件   表示   com   

可以用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

标签:body   问题   idt   imp   很多   processor   文件   表示   com   

原文地址:https://www.cnblogs.com/xiaohuihui-11/p/12876809.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!