(Excel 2016 32位)
我使用模糊查找来识别我系统中的重复客户。我使用了3个字段:Address1,Address2和Address3。我的表包含90000行。匹配数设置为5,相似阈值为90%。当大约79000行完成时,模糊查找最终会达到Excel内存限制。有时它会出错,有时则会崩溃。
有什么想法可以避免达到Excel内存限制?
答案 0 :(得分:3)
似乎这个问题可能是将结果插入Excel'Table'对象时出现错误的症状(其他明智的方法是在vba中称为list对象)。症状,因为加载项会产生更多匹配,进程消耗的内存会稳步攀升,直到(在32位系统上)达到2GB内存限制并且抛出“内存不足异常”。预期的行为应该是一旦生成匹配,内存消耗将保持在一个恒定的水平。
我的解决方案不使用Excel'Table'对象作为模糊查找输出,最安全的选项是空白工作表。
答案 1 :(得分:2)
我发现了一个简单的解决方法,而不使用SQL。
在运行模糊查找之前创建输出表!
真的很简单。创建一个表格,格式化列,选择单元格(2,1),然后运行模糊查找。
答案 2 :(得分:0)
在没有任何运气的情况下搜索论坛后,我不断深入挖掘并相信已找到问题所在。
当您转换列或创建表时,如果您选择整个列,它会为该表的整列创建一个表对象,然后当您运行查找时,它会进入无休止的搜索,因为它正在尝试将每个值与另一个表中的每个值匹配。
<强>解决方案:强> 将列转换为表格(Ctrl + L)时,请勿在电子表格结束前选择整列。看图片。
答案 3 :(得分:0)
我遇到同样的问题,需要花很多时间才能完成。问题是我的表定义。我选择了整个列,而不是只选择数据行。仅选择数据创建表后,模糊查找要快得多。希望这可以帮助其他人寻找解决方案