回答
您可以在Excel工作表中使用VLOOKUP
函數來幫助查找其他工作表中的「缺失」數據。例如,採取以下兩個工作表:
Sheet1
------
A B C
1 aa
2 bb
3 cc
4 dd
。
Sheet2
------
A B C
1 aa
2 bb
3 dd
添加以下公式對細胞在Sheet
B1
和通過細胞B4
向下拖動式:
=IF(ISERROR(VLOOKUP(A1,Sheet2!$A$1:$A$3,1,FALSE)),"MISSING FROM OTHER SHEET","")
Sheet1
應說明,從另一片缺少B
列項,像這樣:
Sheet1
------
A B C
1 aa
2 bb
3 cc MISSING FROM OTHER SHEET
4 dd
您可以在Excel中使用ADO
Dim cn As Object
Dim rs As Object
Dim strFile As String
Dim strCon As String
Dim strSQL As String
Dim s As String
Dim i As Integer, j As Integer
''This is not the best way to refer to the workbook
''you want, but it is very conveient for notes
''It is probably best to use the name of the workbook.
strFile = ActiveWorkbook.FullName
''Note that if HDR=No, F1,F2 etc are used for column names,
''if HDR=Yes, the names in the first row of the range
''can be used.
''This is the Jet 4 connection string, you can get more
''here : http://www.connectionstrings.com/excel
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
''Late binding, so no reference is needed
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open strCon
''Query example:
strSQL = "SELECT Country " _
& "FROM [Sheet1$] a " _
& "WHERE Country NOT IN " _
& "SELECT Country FROM [Sheet2$]"
''Open the recordset for more processing
''Cursor Type: 3, adOpenStatic
''Lock Type: 3, adLockOptimistic
''Not everything can be done with every cirsor type and
''lock type. See http://www.w3schools.com/ado/met_rs_open.asp
rs.Open strSQL, cn, 3, 3
If rs.Count>0 Then
MsgBox rs.GetString
End If
也可以使用CopyFromRecordset快速將記錄集寫入工作表。
解決方案取決於涉及的行數以及需要執行此操作的次數,以及您希望如何顯示信息。
如果你沒有很多國家,你需要這樣做只有一次,最快的解決方法是:
- 複製兩列到一個臨時表。
- 按字母順序對兩列進行排序。
- 手動通過它們並找出差異。
如果你只需要做一次,但有很多國家,vlookup選項是最快的。
如果您需要重複此過程很多次,並且您需要在某處使用該列表(即在其他表單中),那麼您可以使用更復雜的解決方案,包括兩個額外的查找列和透視表。但是在那個時候,我會考慮將它移動到更易於管理的地方,比如一個小型數據庫。
我使用以下獨家軟件。
[Excel Diff - http://www.suntrap-systems.com/ExcelDiff/]
下面還有其他的軟件站點。
[http://www.softpedia.com/]
來自appliedalgo.com的DataExplorer - 您可以比較來自csv,Excel甚至結果的結果集從任何SQL查詢(因此,數據或模式,#行/列......)針對MySQL,Microsoft SQL,Firebird設置。它們也支持不精確匹配 - 數值%差異閾值。對於字符串數據,模糊相似性度量。然而,有一個價格標籤 - http://www.youtube.com/watch?v=Se0wt7mSkxM如果你的老闆不想付錢,請查看這個鏈接:http://www.wikihow.com/Compare - 數據功能於Excel中 – 2014-01-02 09:49:21
我發現,在Excel中的某些版本是比較文件的功能 - 但通常是禁用的,但是instaled。有一天,我偶然發現如何使用它。
如果您instaled TortoiseSVN的(真的): - 選擇Excel文件在文件管理器 比較 - 打開上下文菜單,然後選擇TortoiseSVN> DIFF - 它打開的Excel中的「比較模式」
- 1. 比較兩個excel工作表
- 2. Excel - 比較兩個文件?
- 3. 比較兩個excel文件
- 4. 比較MS Excel 2010中的兩個Excel表格
- 5. 用於比較兩個Excel表格的Excel工具
- 6. Excel公式比較兩列
- 7. 與Excel countif函數的兩個比較
- 8. Excel - Max在比較兩個陣列後
- 9. 比較兩個excel VBA項目
- 10. 比較兩個sqlite表
- 11. 比較兩個列表
- 12. 比較兩個列表C#
- 13. 比較兩個列表
- 14. PHP比較兩個表
- 15. 比較兩個數據表
- 16. 比較兩個列表?
- 17. 比較兩個列表
- 18. mysql比較兩個表
- 19. 比較兩個列表linq
- 20. sql比較兩個表格
- 21. 兩個表的比較
- 22. 比較兩個列表C#
- 23. Excel中比較兩個表和更新表1
- 24. SQL Server:比較兩個表,兩列
- 25. Mysql的比較兩列在兩個表
- 26. 合併兩個列表進行比較(EXCEL)
- 27. 比較excel中的兩個表,看看列是否匹配
- 28. VBA Excel比較兩個不同工作表中的值
- 29. 比較兩個excel數據集(工作表)並添加值
- 30. 如何比較.Net2.0中的兩個Excel表單?
可能的複製:http://stackoverflow.com/questions/1500153/find-the-differences-between-2-excel-worksheets/1500573#1500573 – hawbsl 2010-06-16 12:45:58