String VBA:计算字符串中最常用字符的出现次数
标题说明一切。。。我想找到字符串中出现次数最多的字符,然后计算其出现次数 例如: 在: “AABBCCCD” 输出: 大多数发生在“b”,4次 我甚至不需要知道哪个字符是,只需要知道重复的次数。 我只想使用Excel VBA执行此操作 我试图寻找一些算法,我发现一些方法如下: 但我不知道如何移植到VBA,恐怕我不能:(String VBA:计算字符串中最常用字符的出现次数,string,excel,vba,String,Excel,Vba,标题说明一切。。。我想找到字符串中出现次数最多的字符,然后计算其出现次数 例如: 在: “AABBCCCD” 输出: 大多数发生在“b”,4次 我甚至不需要知道哪个字符是,只需要知道重复的次数。 我只想使用Excel VBA执行此操作 我试图寻找一些算法,我发现一些方法如下: 但我不知道如何移植到VBA,恐怕我不能:( 谢谢!我不知道你为什么会投反对票,但这里有一种方法可以获得字符串中最频繁字符的计数 Sub chCount() Dim str As String: str = "abl
谢谢!我不知道你为什么会投反对票,但这里有一种方法可以获得字符串中最频繁字符的计数
Sub chCount()
Dim str As String: str = "abldfeoslgsasasessasae"
Dim Ruler As Variant
Dim Counter As Long
Dim lCount As Long
Dim maxCount As Long
lCount = Len(str)
For ch = 1 To lCount
Ruler = Split(str, Mid(str, ch, 1))
Counter = UBound(Ruler)
If maxCount < Counter Then
maxCount = Counter
End If
Next ch
msgbox(maxCount)
End Sub
Sub-chCount()
作为字符串的Dim str:str=“ABLDFEOSLGSASASSASASASAE”
变暗尺
昏暗的柜台一样长
暗淡如长
Dim maxCount尽可能长
lCount=Len(str)
对于ch=1,要计算
标尺=拆分(str,中间(str,ch,1))
计数器=UBound(标尺)
如果maxCount<计数器,则
最大计数=计数器
如果结束
下一个ch
msgbox(最大计数)
端接头
我知道您想要VBA,但我无法拒绝为任何可能感兴趣或希望转换为VBA的人提供公式
解决方案
对于A1中的字符串,请在另一个单元格中使用此“数组公式”获取该字符串中最常用字符的计数
=LEN(A1)-MIN(LEN(替换为(A1,MID(A1,ROW)(间接)(&LEN(A1))),1),))
确认使用CTRL+SHIFT+ENTERUpvote,非常聪明。很好!谢谢你的好话!标尺的概念非常聪明,我一直在努力寻找答案,但我认为你的代码只是最简洁的解决方案。我不知道为什么我会被否决,但是,相信我,我正在研究这个算法,大约2个小时没有简单的解决方案,直到你启发了我…+1像往常一样大量使用公式,巴里!