2013-10-11 92 views
0

我有一個在Excel工作表上多次出現的名稱列表。創建一個簡單的`If`語句和一個循環

我想嘗試創建第二個選項卡,它只存儲一次每個名稱,並附上一個數字值,顯示出現在原始選項卡中的次數,以便我可以獲得簡單的排名。

回答

1

確保您的列已標記在頂部。使用數據>排序&篩選與重複的記錄創建在同一張清單:

有了您的列標記,選擇它,數據>排序&過濾 - 高級,選擇複製到另一個位置(選擇其中Copy to:)並打勾Unique records only

然後像=COUNTIF(A:A,B2)這樣的東西來計算實例,最後將添加的列移動到您的第二個選項卡。


另外,創建數據透視表:

與標記你的專欄,選擇它,插入>表格 - 數據透視表,數據透視表,OK,你的標籤拖動到行標籤,進入Σ值。


如果列表已排序,您也可以使用小計。

+0

嗨,謝謝你的回答。問題是我有一個很長的名單。因此,主要部分是將名稱複製到另一個選項卡上,每個選項卡只出現一次。有沒有解決這個問題,還是我不明白你? – MegaByteMe

+0

您的長列表是否包含超過10,000個不同的值? – pnuts

+0

我的意思是如何創建包含每個文本的第二個列表只有一次? – MegaByteMe

0

我爲這種情況所做的一件事是首先按名稱對同一名稱的多個示例進行排序。這將把所有的名字集中在一起。

從那裏可以簡單地瞭解每個名字的出現頻率。

將第一張名稱顯示在第二張紙上的紙上,並附上1作爲計數器值,然後檢查下一個名稱是否相同。
如果是,請增加第二張紙上的計數器。
如果名稱不同,請在工作表上輸入該名稱,並將計數器設置爲1並重復,直到第一張工作表上的所有行都被考慮。

+0

感謝邁克,請參閱我對pnut的回答評論.. – MegaByteMe

+0

我不得不這樣做幾次這樣做,並通過寫一個vba例程來處理它。我假設你正在尋找。對不起,如果我誤解了! – Mike

+0

把你的名字列表複製到第二張工作表中。 在第二張工作表上,選擇「數據」>「刪除重複項」。 在第二張紙上列表中第一個名字右側的單元格中,輸入: '= COUNTIF(Sheet1!$ A:$ A,$ A1)' 此處假定名稱的完整列表位於Sheet1的列A並且您將該列表複製到Sheet2中的列A. – Mike