VBA统计000-999的次数
Excel的某一行有多个三位数(每个三位数占一个单元格),现在编写一个自定义函数,统计每个三位数出现的次数,未出现的三位数用0次代替,比如237有3次,732有4次,70...
Excel的某一行有多个三位数(每个三位数占一个单元格),现在编写一个自定义函数,统计每个三位数出现的次数,未出现的三位数用0次代替,比如237有3次,732有4次,702有4次,890有1次,按次数从高到低,格式是前面是数字,小括号内是次数,用逗号隔开,上面的结果就是732(4),702(4),237(3),890(1),000(0),001(0),(剩余还有995个数就不列举了,数字按升序排列),本人不会VBA,参照别人以前写的自定义函数,请你也做成自定义函数形式,如Function CiShu(r,c)
万分感谢. 展开
万分感谢. 展开
展开全部
连0个的都要显示么?那岂不是一个单元格至少需要输出7000个字符.
追问
不显示0次也可以
追答
其实显示0也可以,不过数据太长,单元格虽然可以显示3w多个字符,但是恐怕要好几个屏幕
Function CiShu(r As Range)
Dim n(999)
For i = 0 To 999
n(i) = Application.WorksheetFunction.CountIf(r, i)
Next i
For m = 999 To 0 Step -1
For i = 0 To 999
If n(i) = m Then CiShu = CiShu & Format(i, "000") & "(" & n(i) & "),"
Next i
Next m
CiShu = Left(CiShu, Len(CiShu) - 1)
End Function
记得自定义函数的代码要放在模块里.
用法是:
=cishu(范围)
如图
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询