返回列表 上一主題 發帖

[發問] 如何把重複的資料去掉?

[發問] 如何把重複的資料去掉?

本帖最後由 小俠客 於 2011-1-17 19:25 編輯

如果一個EXCEL FILE中有些紀錄是重複的,我知道可以用「進階篩選」的不重複的資料抽出來。例如我的資料有三個COLUMN:姓名、班別、ID,我以ID來篩走重複的資料,我便能建立唯一記錄的清單。
但如果我需要多過一個COLUMN的資料來判斷是否重複資料,例如有A-E五班人,每班有10個人,編號由1至10。單看一個COLUMN是沒有用,因為屬於8號的有五個;屬於B班的也有10個,我需要把兩個COLUMN的資料結合才能判斷是否重複(即B班8號),請問這可以如何做?謝謝!

問題2:
如果我不需要把「唯一」的記錄抽出來,只需要計算紀錄的數字,又可以怎樣做?
例如住院記錄中包括:「編號」、「性別」、「醫院名」、「是否已經死亡」的資料,但因為部份病人可能多次入院後才死亡,所以他們的記錄比較多。如果我要計算不同醫院的死亡率或死亡數字,我必需要把重複的資料篩走,不能用COUNTIF的方法吧....

我是用EXCEL2003的

TOP

本帖最後由 linshin1999 於 2011-1-17 20:48 編輯

你好:以下借花獻佛這是 Hiesh 版主,回答版友問的問題所回答的答案,你可以參考看看:

Sub Ex()
Set d = CreateObject("Scripting.Dictionary")
With Sheets(2)
For Each a In .Range(.[A1], .[A65536].End(xlUp))
   d(a.Value) = a.Offset(, 1)
Next
With Sheets(1)
For Each a In .Range(.[A1], .[A65536].End(xlUp))
   a.Offset(, 3) = d(a.Value)
Next
End With
End With
End Sub

http://forum.twbts.com/viewthread.php?from=notice&tid=2398


或者你可以前往以上的網頁去參考:對初學者 Dictionary 要花一點心思,但是你要的答案就是用 Dictionary 來解決.
V98

TOP

回復 2# 小俠客


   
學海無涯_不恥下問

TOP

回復 3# linshin1999


    請問這個是解決我第一個問題的方法嗎?
我對vba還不是那麼熟悉,不太明白如何使用,我把它放在vba中,run了也沒有效果......
不過還是謝謝你的熱心幫助

TOP

本帖最後由 小俠客 於 2011-1-18 16:53 編輯
回復  小俠客
Hsieh 發表於 2011-1-17 21:09



原來我最初說的方法是可行的,但是我操作有問題才弄錯了,謝謝版大的幫助。
那麼我第二個問題是不是不能直接以formula或excel功能計算,要整理數據後才能計算?

TOP

回復 6# 小俠客

篩選後計算應該比較快速
學海無涯_不恥下問

TOP

原來進階篩選 還可以用不同的資料欄來做 這樣可以應用在我的計算成績的檔案 以及學生資料的記錄 方便查詢或篩選等等 先試試看 又學了一招

TOP

回復 7# Hsieh


    謝謝超版的幫助,這兒真的學到很多,從前還以為excel是個簡單的軟體.....
還有陣子學呢

TOP

還有一個類似的問題需要解決,但不想胡亂開post浪費論壇資源,唯有跟post發問吧!
我弄了一個千多人的名單給老闆作修改,他自己增減後交給我,但我不清楚有甚麼記錄是新加或已刪除。我現在用的方法是兩個表都向另一個表用vlookup,遇到有#N/A則代表另一個表沒有這個RECORD,但這個方法有點笨,想請教大家可以用其他方法,例如filter可以解決呢?謝謝!

TOP

        靜思自在 : 難行能行,難捨能捨,難為能為,才能昇華自我的人格。
返回列表 上一主題