2017-01-06 157 views
0

我首先说我不是VBA的专家用户;我只是在学习它。列表中单词的计数频率

我对使用宏在Excel中计算文本字符串的可能性有疑问。我不能使用'Countif'函数,因为Excel文件中有超过20,000个文本字符串,我想这将是一个漫长的过程。

因此,我在考虑使用VBA代码扫描和组织文本字符串的频率的可能性。

例如,有(在不同的单元中的每个)一组像这样在我的文件中的单词:

家, 阳台, 平, 公寓, 家, 家, 花园, 事情, 收入, 平, ... 窗口

我想知道是否有一种方法,使Excel中扫描所有不同的文本字符串,并与日回来每个人的频率。

我知道,可能有更简单的方法来做到这一点(例如Python或一些添加),但我们必须在工作中做到这一点,我不能要求我的同事学习Python或其他编程语言,我们目前也没有能力购买任何软件。

感谢有帮助的人!

+0

http://stackoverflow.com/questions/21858874/counting-the- excel字符串的频率 – cyboashu

+0

对于每个单元格的单个字符串条目,只需使用数据透视表。 – brettdj

+0

使用countif,20000值应该不是问题,只需选择整个列。如果您想要制造这种困难,您可以:将值读入变体数组,使用字典方法记录每个单词的总数,循环记录集以添加到字典中,再次循环打印值。编辑:brets答案是完美的,你需要什么 – User632716

回答

3

简单的数据透视表(不VBA - 但可能是,如果需要的代码)

Debra's伟大的网站

enter image description here

+0

感谢brettdj!我的原始文件的问题是,我不知道Excel文件中的所有22k字(道歉,我想我没有说清楚)。我认为要编译示例中的'行标签',我必须知道或计算文件中的唯一值;然而,就我所知,我的文件中甚至可能有10k个唯一值,因此要遍历每个值并查看哪些是重复的,哪些是唯一值是非常困难的。这就是为什么我想找到可以'自动'扫描所有单元格然后对频率进行计数的内容 – Mark

+1

@mark no - 根据范围自动输出结果:)您不需要创建唯一记录列表,那是自动的。 – brettdj