需求
同事又来提需求了,几百人的名单需要统计出现过的人名,还需要统计出现过的次数。
如果依靠肉眼估计眼睛都瞎了,因此求助了我,昨天没电脑想网上看一下类似的功能的公式,但是几乎都是不尽人意。
而且利用COUNTIF
公式还是需要先知道出现过那些人,VLOOKUP
似乎也不能一步到位。排序+筛选是个办法,但是感觉有点曲线救国,会打乱顺序,所以依旧利用万能的VBA来处理。
思路
利用VBA定位A列最后非空单元格,然后在B列利用嵌套循环匹配有无出现过该人,如果有则次数加1,如果没有则在B列最后添加该人姓名,并且定义出现次数为1。
代码
1 | Sub test() |
总结
相对于使用公式和透视图,个人还是比较喜欢VBA,不需要其他填充之类操作,点击就能出来结果,不会污染源数据,更为方便的是可以另存为工具,在下次使用时将目标数据粘贴进来就完事了。