ExcelVBA 統(tǒng)計出現次數與篩選后對可見單元格的操控
網友提問:
網友的意思是有一列數字

如果展開是這樣的

想統(tǒng)計一下每個數字出現的次數

然后取次數最大的N個數,如果次數重復,假設取2個數,其中1、8、9都是5次,那就取這3個數中最大的2個數 8和9
以這樣的規(guī)律取5個數

回答網友問題:
遇到不會的問題,要從最簡單最容易的事情做起
有多少個工作簿,多少個工作表都沒有關系,只要會處理一個,后面遍歷工作簿和工作表又有何難?如果一個表都不會做,那咱們可以問,可以交流。如果會做一個表,不會批量應用到多表或多個工作簿,學過的小伙伴都知道,這種情況一定是沒學過。
如下圖所示,A列有一位數字,我們想在D和E列統(tǒng)計每個數字出現的次數

現在換成網友的案例數據,我們將A列連成字符串

我們也可能將每個數字遍歷出來

現在把我們第一個寫的代碼代入進來,你的第一個需求就實現了

做到這一步就已經解決了99%了
接下來我們要對紅框處得到的數據進行篩選和排序

我們再篩選出現次數排名前5的


然后在結果中,先對數字列做降序,再對出現次數列做降序
其中我們要的結果 就是紅框內的數字
只是我們需要 18976 這樣的順序

然后我們需要給可見單元格前5行的數字改顏色

然后按顏色篩選

得到結果

然后再對數字列升序,出現次數列降序就是我們要的結果了

把我們上面說的這些步驟寫成代碼
然后,你在 shishi3里call shishi4 也行? ?,想寫一塊也行
有了? shishi3 和? shishi4? 這個問題就解決了。
返回結果:

做好的文件已經上傳評論區(qū),可以下載研究
對沒學過的小伙伴友情提示:先運行模塊1里面的shishi3? 再運行模塊2里面的shishi4

ExcelVBA教程:https://www.bilibili.com/video/BV1rt4y1a72y
標簽: