Excel VBA 之 统计词汇出现次数


Excel VBA 之 统计词汇出现次数

今天我们来讲一下办公中可能会经常用到的功能,词频统计(统计词汇出现次数),即统计每个词汇出现的次数。例子如下


Excel VBA 之 统计词汇出现次数

我们要统计一下,该表里每个词汇出现的次数。


一看到统计次数,我们就应该要想到用字典(Dictionary)来实现;因为每个词汇都有分割符,那么就要用到Split函数,我们先看一下官网对Split函数的介绍


Excel VBA 之 统计词汇出现次数

Split函数介绍

首先,定义字典、数组

<code>Dim dic
Dim arr
Set dic = CreateObject("Scripting.Dictionary")/<code>

然后,遍历每个单元格,将所有字符串连接起来,用它们原来的分隔符分隔,连接后的字符串保存到变量myStr

<code>For Each c In Sheets(1).UsedRange
If c.Value <> "" Then
If myStr = "" Then
myStr = c.Value
Else
myStr = myStr & LK & c.Value'LK是常量,分隔符
End If
End If
Next/<code>

用Split函数将字符串按分隔符分割成数组

<code>arr = Split(myStr, LK)/<code>

接下来,用字典统计次数

<code>For i = 0 To UBound(arr)
dic(arr(i)) = dic(arr(i)) + 1
Next/<code>

最后,将字典的键和值填入Sheet2

<code>arrKeys = dic.keys
arrItems = dic.items
With Sheets(2)
.Rows.Clear
For i = 1 To dic.Count
.Cells(i, 1) = arrKeys(i - 1)
.Cells(i, 2) = arrItems(i - 1)
Next
End With/<code>

最后,我们来看一下效果


Excel VBA 之 统计词汇出现次数

最终效果

全部代码如下:


Excel VBA 之 统计词汇出现次数

代码全貌

本期知识点:字典(Dictionary)Split函数

大家可以点开下面链接,查看我的其他文章哦!

。。。

现在正值疫情期间,大家都注意保重身体,新的一年里祝大家身体健康,万事如意!

如果大家对本篇文章有疑问的话,可以评论或私信我,我会尽量回答大家!

喜欢的朋友记得点赞、关注哦,网友们如果在Excel中遇到问题都可以找我交流,也可以在评论区或私信告诉我你想看到的VBA办公教程,我将在下期分享给大家,以后不定期更新Excel VBA技巧!


分享到:


相關文章: