简体   繁体   English

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

[英]What is the best way to filter a large list in Excel?

I have a table in Excel that I want to filter. 我有一个Excel中的表,我想过滤。 It will have a maximum of 1 million rows and 80 columns. 它最多有100万行和80列。 All the calculations etc are done programatically in arrays to cut dwn processing time. 所有计算等都以编程方式在数组中完成,以减少dwn处理时间。 However, I want to also filter the results to display only certain results based on one column value, followed by a top 5% based on another filter value. 但是,我还希望过滤结果,以便仅根据一个列值显示某些结果,然后根据另一个过滤器值显示前5%。

When I first did the sheet, it was limited to 65000 results so there were no problems with the size of the data set. 当我第一次完成工作表时,它被限制为65000个结果,因此数据集的大小没有问题。 I just invoked the worksheet filter functions from code and did it that way. 我只是从代码中调用了工作表过滤器函数并以这种方式执行。 Can I do it that way with a larger data set or is there a way to filter an array the way you da dataset on a sheet? 我可以使用更大的数据集以这种方式执行此操作,还是可以按照数据集在工作表上的方式过滤数组?

Thanks 谢谢

As already mentioned by everyone, excel 2007 will take you to a million rows, but its slower than the excel 2003 that I presume you're using at the moment so filtering using it wouldn't be advisable. 正如大家已经提到的那样,excel 2007会带你到一百万行,但它比我认为你现在正在使用的excel 2003慢,所以使用它进行过滤是不可取的。

Along with mysql, ms access is also an option. 与mysql一起,ms访问也是一种选择。

You really should put that data in an Access table and use Excel's Database Query to do the job. 您真的应该将这些数据放在Access表中并使用Excel的数据库查询来完成这项工作。 Since it can also filter retrieved data based on a cell value, it's a great combination. 由于它还可以根据单元格值过滤检索到的数据,因此它是一个很好的组合。
Storing the data in a database brings you another interesting option (depending on what you want to do): to query your database using PowerPivot . 将数据存储在数据库中会带来另一个有趣的选项(取决于您想要做什么):使用PowerPivot查询数据库。

Although using a relational DB would be preferable in many ways, if you don't have any formulas then filtering your data (1 million rows by 80 columns) using Excel will be reasonably fast (< 1 or 2 seconds depending on what sort of filtering you want to do, which will probably be faster than an un-indexed DB table) assuming that you have enough RAM. 虽然在许多方面使用关系数据库会更好,但如果你没有任何公式,那么使用Excel过滤数据(100万行80列)将会相当快(<1或2秒取决于过滤的类型假设你有足够的RAM,你想做的,可能会比没有索引的数据库表更快。
If you do have any formulas then you will probably need to be in Manual calculation mode to avoid the filtering process triggering multiple recalculations. 如果您有任何公式,那么您可能需要处于手动计算模式,以避免过滤过程触发多次重新计算。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将大型Excel工作表加载到Informix表的最佳方法是什么? - What is the best way to load a large Excel sheet to an Informix table? 使用 VBA 在大型 Excel 表中搜索值的最佳方法是什么? - What is the best way to search for a value in a large Excel sheet using VBA? 处理excel大数据集的最佳方法是什么? - What is the best way to handle large data set for excel? 将excel公式或VBA代码映射到列表的最佳方法是什么? - what is the best way to have an excel formula or VBA code to map to a list 使用vb.net在大型excel文件上执行SQL查询的最佳方法是什么? - What's the best way to execute SQL Query on large excel file using vb.net? 将大量数据从C#导出到excel的最佳/最快方法是什么? - What is the best / fastest way to export large set of data from C# to excel 使用ColdFusion创建Excel文件的最佳方法是什么? - What is the best way to create an Excel file with ColdFusion? 在excel中输入多个条件的最佳方法是什么? - What is the best way to enter multiple conditionals into excel? 使用VBA在Excel中绘制的最佳方法是什么? - What is the best way to draw in Excel using VBA? 检测是否安装了 Excel 2003 的最佳方法是什么? - What is the best way to detect if Excel 2003 is installed?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM