我将功能大致分为以下几个版块,数据处理、文件操作、格式处理、自定义函数、其它语言衔接。一、数据处理
1.1 vlookup提速
vlookup主要为数据匹配功能,Excel自带的是很慢的,而且破坏了源格式,在处理数十万行数据时心态几乎崩溃。本工具采用了2数组配6部字典提速,快到颠覆想象,可追加多列,并保留源格式。需要2步即可,比Excel自带使用更简单。
如下为数据选择界面,延续Excel自带风格,前两个需要手动选择,第3,4个输入框为自动填充,一般不需要修改
file:///C:/Users/yongl/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png
时间估算: 从Excel将100万行数据转入内存,需要3~5s,完成100万行数据匹配不超过3s,几乎可以忽略匹配结果存入数组的时间,将数组从内存中填充到Excel表需要时间较长且该过程无法提速。 i3处理器能保证1分钟左右匹配完两个百万行的表,日常使用的表如果10万行以下,那么时间都耽误在你选择数据的那2秒钟了。
特点:1、 可追加、可反向索引:多列vlookup自动追加功能,追加时依据表头字段,对数据列无顺序要求(结果列在索引列前后均可,仅初始匹配要求位置顺序); 2、 匹配结果为纯文本格式,请配合使用“清除格式”功能,数值和百分比格式,处理后保留源格式; 3、 更加省心:优先选择含有杠杠(-)的列,瞬间猜测5次,总想猜测你要v哪一列,替你选中。 4、 交互友好:处理大量数据时,进度条显示功能优化,关闭进度条后,设置终止运行功能。 5、 绝无卡顿:卡顿现象出现于被v的数据过大的情况,本次加入大数据缓存状态交互,实时监控到数据存入内存进度。 6、 速度提升:vlookup进度慢一般由于索引对象文件过大导致,本程序通过设定最大6个候选字典,数据分步提进内存,极大提升了超出17.5万行的数据匹配速度。如果不考虑打开Excel文件时间,匹配100多万行以内数据可以和SQL/Pandas相提并论,并且操作更简单、易懂...(较大文件动作结束后,请适当等待几秒,程序在释放内存)
注:依据数据条数决定字典调用数,最大6个字典。为何设置6个字典? 我们知道,打开Excel文件最大行数显示1,048,576行,经实测每部字典(在内存中)载入17.5万行数据时速度极快,超出后导入速度将愈加缓慢,那么104万/ 17.5 ≈ 6个。
今天先写这么多,链接在下方,工具注册密码为000999,使用方式详见“ExcelTools使用说明”
链接:https://pan.baidu.com/s/1_wOotQKYrFRyxV1Ma3FuWg 提取码:0njm
下次再陆续更新程序主要功能和使用说明...
|