當前位置: 妍妍網 > 辦公

1秒找出兩列數據差異,這才是最牛X的表格核對方法

2024-04-10辦公

兩列數據找差異,我們一般都是用條件格式 - 突出顯示單元格格規則 - 重復值來快速完成。

但如果同一列中有重復值 ,核對結果就出錯了。

蘭色多年以來一直想解決這個問題,直到昨天,蘭色用VBA編寫了一個新功能,完美的解決了兩列核對的問題。

選中兩列按 Ctrl + m 即可找出兩列重復值。

做會計工作的同學都是遇到過一對一的核對情況,當核對的值出現多次時,需要進行一對一的核對。如下圖所示,第一列有一個100,第二列出現兩個100,那麽一對一核對結果時第2列第2個100不應該填充顏色。

這個用 Ctrl + m 同樣可以完成。

想用不同顏色顯示一對一核對結果?當然可以!

看到這麽好用的核對功能,你是不是也想試一下Ctrl+m ? 先別試,因為你試了也沒效果。你需要跟蘭色一起做以下以步才可使用。

第1步 開啟你要做核對的表格,工作表標簽右鍵 - 點選檢視程式碼。在彈出的新視窗插入 - 模組,然後復制下面的程式碼貼上到右側視窗中。

Sub 核對()Dim kk = 3If k = 1 Then 普通核對ElseIf k = 2 Then 單色一對一核對ElseIf k = 3 Then 多色一對一核對End IfEnd SubSub 普通核對() Dim arr1, arr2 Dim 紅 As Byte, 綠 As Byte, 黃 As Byte Set rg = Selection If rg.Areas.Count <> 2 Then Exit Sub arr1 = rg.Areas(1) arr2 = rg.Areas(2) '開始核對 '核對前刪除顏色 rg.Interior.ColorIndex = xlNone For x = 1 To UBound(arr1) For y = 1 To UBound(arr2) If arr1(x, 1) = arr2(y, 1) Then rg.Areas(1)(x).Interior.Color = RGB(255, 199, 206) rg.Areas(2)(y).Interior.Color = RGB(255, 199, 206) End If Next yNext xEnd SubSub 單色一對一核對() Dim arr1, arr2, arr3(1 To 10000) Dim 紅 As Byte, 綠 As Byte, 黃 As Byte Set rg = Selection If rg.Areas.Count <> 2 Then Exit Sub arr1 = rg.Areas(1) arr2 = rg.Areas(2) '開始核對 '核對前刪除顏色 rg.Interior.ColorIndex = xlNone For x = 1 To UBound(arr1) For y = 1 To UBound(arr2) If arr1(x, 1) = arr2(y, 1) And arr3(y) <> 1 Then rg.Areas(1)(x).Interior.Color = RGB(255, 199, 206) rg.Areas(2)(y).Interior.Color = RGB(255, 199, 206) arr3(y) = 1 GoTo 10 End If Next y10:Next xEnd SubSub 多色一對一核對() Dim arr1, arr2, arr3(1 To 10000) Dim 紅 As Byte, 綠 As Byte, 黃 As Byte Set rg = Selection If rg.Areas.Count <> 2 Then Exit Sub arr1 = rg.Areas(1) arr2 = rg.Areas(2) '開始核對 '核對前刪除顏色 rg.Interior.ColorIndex = xlNone For x = 1 To UBound(arr1) For y = 1 To UBound(arr2) If arr1(x, 1) = arr2(y, 1) And arr3(y) <> 1 Then 紅 = Application.RandBetween(1, 255) 綠 = Application.RandBetween(1, 255) 黃 = Application.RandBetween(1, 255) rg.Areas(1)(x).Interior.Color = RGB(紅, 綠, 黃) rg.Areas(2)(y).Interior.Color = RGB(紅, 綠, 黃) arr3(y) = 1 GoTo 10 End If Next y10:Next xEnd Sub

註:修改程式碼中 K 的值即可在幾種核對模式中切換( 1是普通核對,2是單色一對一核對,3是多色一對一核對

Sub 核對()

Dim k

k = 3

If k = 1 Then

普通核對

ElseIf k = 2 Then

單色一對一核對

ElseIf k = 3 Then

多色一對一核對

End If

第2步 開發工具 - 宏 - 選取「核對」 - 選項 - 快捷鍵後輸入字母m

第3步 檔另存為啟用宏的檔

完成以上以步後,你就可以在當前檔中使用Ctrl + m了。

也許你會問能不能在所有開啟的Excel檔中使用它?可以,但你需要另存為載入宏檔,然後再載入它即可。但蘭色一般不建議這樣做,因為用宏做成的功能執行後不能復原,萬一你不小心按了Ctrl+m會破壞你表格的格式。

蘭色說 :WPS需要支持VBA宏安裝VBA外掛程式後才能用本文程式碼( 因為外掛程式不方便分享,所以同學們可以去網上搜搜,買過蘭色樣版的去地圖樣版中找、四合一教程的去圖表樣版中有提供

蘭色根據多年經驗,錄制了一全套適合新手和初中級階段使用者學習的Excel教程。包括 Excel表格88個函式用法( 即將更新幾十個新函式 )、119個使用技巧、透視表從入門到精通50集、圖表從入門到精通186集 。( 綠卡會員 有效期內 免費 )詳情點選下方連結