瀏覽單個文章
sazabijiang
*停權中*
 

加入日期: Sep 2004
您的住址: 台北
文章: 8
引用:
作者Carcia
想請問一下
有新舊2個EXCEL檔案

裡面都各有1500項目的資料
我要怎麼做才能快速的知道新檔案對照於舊檔案裡的項目,
有新增還是刪除了哪幾個項目?變更的有哪幾個項目?

譬如說:
OLD FILE:
1: AAA 100元
2: BBB 200元
3: CCC 300元
4: DDD 500元

NEW FILE:
1: AAA 100元
2: BBB 200元
3: DDD 400元
4: EEE 500元

當然一個個對是可以知道的,
但1500個項目不是個小數目
有比較有效率的方法嗎?
我知道像LINUX 裡打指令 diff可以幫我找出不一樣的地方


1. 半自動法
把新舊兩個資料表放在同個檔案, 互相用Vlookup函數然後手動拖曳右下角的黑十字複製公式, 即可查出兩者有哪些項目不存在於對方的資料表

2. Access SQL法
把新舊兩個資料表匯入Access資料庫, 使用SQL語法 WHERE NOT EXIST 或 WHERE NO IN (SELECT ) 即可找出兩者的差異

3. Excel VBA法
在Excel裡寫VBA, 以雙重迴圈比對新舊資料的差異. 如果要進階一點, 可以先將新舊兩資料各自排序過, 則複雜度會從原本的 N^2 變成 N log(N)

4. Excel VBA SQL法
在Excel VBA裡透過ODBC物件, 把自身Excel當成資料庫, 然後以方法二一樣的語法查詢.
舊 2012-08-19, 11:43 PM #6
回應時引用此文章
sazabijiang離線中