Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 统计列表中单词的频率_Vba_Excel - Fatal编程技术网

Vba 统计列表中单词的频率

Vba 统计列表中单词的频率,vba,excel,Vba,Excel,我首先说我不是VBA的专家用户;我只是在学习 我有一个关于在Excel中使用宏计算文本字符串的可能性的问题。我不能使用“Countif”函数,因为Excel文件中有20000多个文本字符串,我想这将是一个漫长的过程 因此,我在考虑使用VBA代码按频率扫描和组织文本字符串的可能性 例如,在我的文件中有一组这样的词(每个词位于不同的单元格中): 家, 阳台, 平的 公寓 家, 家, 花园 事情 收入 平的 ... 窗口 我想知道是否有办法让Excel扫描所有不同的文本字符串,并返回每个字符串的频率

我首先说我不是VBA的专家用户;我只是在学习

我有一个关于在Excel中使用宏计算文本字符串的可能性的问题。我不能使用“Countif”函数,因为Excel文件中有20000多个文本字符串,我想这将是一个漫长的过程

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

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

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

我想知道是否有办法让Excel扫描所有不同的文本字符串,并返回每个字符串的频率

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

感谢那些能帮忙的人

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

看到伟大的网站

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

看到伟大的网站


对于每个单元格的单个字符串条目,只需使用数据透视表。使用计数如果20000个值不成问题,只需选择整个列即可。如果您确实想让这变得困难,您可以:将值读入变量数组,采用字典方法记录每个单词的总数,循环记录集以添加到字典,再次循环以打印值。编辑:brets answer非常适合每个单元格的单个字符串条目,只需使用数据透视表即可。如果20000个值根本不成问题,只需选择整个列即可。如果您确实想让这变得困难,您可以:将值读入变量数组,采用字典方法记录每个单词的总数,循环记录集以添加到字典,再次循环以打印值。编辑:brets答案非常适合您的需要谢谢BRETDJ!我的原始文件的问题是,我不知道Excel文件中的所有22k单词(抱歉,我认为我没有说得足够清楚)。我认为要编译示例中的“行标签”,我必须知道或计算文件中的唯一值;然而,据我所知,在我的文件中甚至可能有10k个唯一值,因此要遍历每个值并查看哪些是重复的,哪些是唯一的值是非常困难的。这就是为什么我想找到一种可以“自动”扫描所有细胞,然后计数细胞的东西frequencies@mark否-根据范围自动输出:)您不需要列出唯一记录,这是自动的。谢谢brettdj!我的原始文件的问题是,我不知道Excel文件中的所有22k单词(抱歉,我认为我没有说得足够清楚)。我认为要编译示例中的“行标签”,我必须知道或计算文件中的唯一值;然而,据我所知,在我的文件中甚至可能有10k个唯一值,因此要遍历每个值并查看哪些是重复的,哪些是唯一的值是非常困难的。这就是为什么我想找到一种可以“自动”扫描所有细胞,然后计数细胞的东西frequencies@mark否-根据范围自动输出:)您不需要列出唯一记录,这是自动的。