2013-04-08 64 views
0

我有大规模数据(700K行),我试图计算一个单词在行内出现的数字 ,并且这样做也是多次(50K次迭代)。 我想知道如果Excel是适当的平台,使用VBA或者可能是COUNTIFS,还是我应该使用不同的平台? 如果是这样,是否有一个与Excel和VBA具有相似点的平台? 谢谢!Excel VBA大数据运行时问题

+3

如果您需要计算的“单词”可能是任何单元格中文本的一部分,那么尝试探索“Range.Find”属性(最近在这里有几个例子)。如果单元格中只有'单词',那么只需使用'CountIf/CountIfs'函数(如你所建议的那样)。 – 2013-04-08 22:01:42

+2

您的数据已经在Excel中,还是在其他地方?如果您需要检查50k字的频率,那么首先将所有单词加载到脚本字典中作为关键字,然后运行数据中的所有单词,检查字典并在发现后增加计数,这可能是最容易的。有关您的数据看起来会有所帮助的更多细节。 – 2013-04-08 22:16:25

+0

看到一个例子会有所帮助。 PowerPivot(xl2010-13)可能是一个有用的选项 – brettdj 2013-04-09 02:26:52

回答

1

使用A列中的小句子和Sheet1列A中的700k行,此公式将计算出现次数。这是一个数组公式,并且必须使用Ctrl + Shift + Enter输入。

=SUM(--NOT(ISERR(FIND(A2,Sheet1!$A$1:$A$700000)))) 

要计算200个小句子在我的机器上花费了大约20秒。如果这是一个迹象,计算5万个小句子大约需要1.5个小时。你应该找一个更好的工具,或者至少在你出去吃午饭之前计算一下。绝对测试一个更小的数字,以确保它给你你想要的答案。如果你不需要经常这样做,大约1.5小时是可口的。