|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
刚才的只是取频率最高的一个字符,考虑到出现频率最高的可能多个相同字符,修正一下,顺便把出现频率提取了,不过如果字符串出现两位数的情况,那合并在一起就不能直接合了,需要区分开来
- Sub test()
- Set d = CreateObject("scripting.dictionary")
- arr = [a1].CurrentRegion
- For i = 1 To UBound(arr)
- For k = 1 To Len(arr(i, 1))
- d(k & Mid(arr(i, 1), k, 1)) = d(k & Mid(arr(i, 1), k, 1)) + 1
- Next
- Next
- For k = 1 To Len(arr(1, 1))
- ar = Filter(d.keys, k)
- n = 0
- For Each a In ar
- If d(a) > n Then mx = d(a): n = d(a)
- Next
- For Each a In ar
- If d(a) = mx Then st = st & Right(a, 1)
- Next
- mst = mst & mx
- Next
- [c1] = st
- [c2] = mst
- End Sub
复制代码
|
|