想將使用者給的Excel資料轉進DB,遇到Primary Key重覆的問題。

上千筆資料,到底是哪幾筆衝在一起? DB沒有指出來,只好自己找~~~

好奇別人遇到這類問題都怎麼解決,問了一下,原來很多人的做法都是先排序再用眼睛比對。但想想平日懶惰成性,我的火眼金睛早已退化,可能看到脫窗也找不出來。想要偷懶,避免摧殘我"不再青春的肉體",有兩條路可以走: 1) 寫VBA巨集處理 2) 用Excel內建函數輔助比對

平時我都選1),今天心血來潮,心想冰雪聰明的Excel,應該有其他簡便的做法。Google一下,我找到了用COUNTIF()函數協助標明重覆項目的做法。

方法是利用COUNTIF(比對起始Cell:目前Cell,目前Cell) > 1的原理,由目前Cell向前找,看該Cell的值在之前是否出現過? 若出現次數>1,就視為重覆。利用$A$2絕對座標決定比對範圍起點,A2為相對座標當成比對終點,同時也當作比對對象,一口氣在B欄遞增複製拉出各列的比對公式,重覆資料馬上現形! 就醬!


Comments

# by Ammon

我是會先排序 用 =IF(A1=A2,"Y","") 就可以很快找到重複的資料 如果不需要知道是哪筆資料重複 直接用 excel 2007的 [資料] -> [移除重複]

# by Saint

可以把DB當成是資料來源,下Select command 也可以

# by ringman

請問大大~如果我要 A, B 欄位為(Primary Key) 的話,要怎麼做呢..就是有2個以上的Primary Key值...><~我找不到答案..><~在不排序的情況下要怎麼做

# by Jeffrey

to ringman, 我想到的簡單做法是先另外再建一個ColC = ColA & "-" & ColB(連接符號要小心不要用到ColA/ColB有出現的),接著將上述邏輯套在ColC上即可。

# by AN

太實用了!感謝大大!

Post a comment