在Excel中过滤大型列表的最佳方法是什么?

时间:2012-12-28 08:31:03

标签: excel vba filtering

我在Excel中有一个表要过滤。它最多有100万行和80列。所有计算等都以编程方式在数组中完成,以减少dwn处理时间。但是,我想过滤结果,只显示基于一个列值的特定结果,然后根据另一个过滤值显示前5%。

当我第一次使用工作表时,它被限制为65000个结果,因此数据集的大小没有问题。我只是从代码中调用了工作表过滤器函数并以这种方式执行。我可以用更大的数据集这样做吗,或者有没有办法按照数据集在工作表上的方式过滤数组?

由于

3 个答案:

答案 0 :(得分:1)

正如大家已经提到的,excel 2007会带你到一百万行,但它比我认为你现在正在使用的excel 2003慢,所以使用它进行过滤是不可取的。

与mysql一起,ms访问也是一种选择。

答案 1 :(得分:0)

您确实应该将这些数据放在Access表中并使用Excel's Database Query来完成这项工作。由于它还可以根据单元格值过滤检索到的数据,因此它是一个很好的组合 将数据存储在数据库中会带来另一个有趣的选择(取决于您想要做什么):使用PowerPivot查询数据库。

答案 2 :(得分:0)

虽然在许多方面使用关系数据库会更好,但如果你没有任何公式,那么使用Excel过滤数据(100万行80列)将相当快(<1或2秒取决于假设你有足够的RAM,那么你想要做什么样的过滤,这可能比未索引的数据库表更快。
如果你有任何公式,那么你可能需要处于手动计算模式,以避免过滤过程触发多次重新计算。