excel新表有多個值,如何與舊錶一個值對比?

excel新表有多個值,如何與舊錶一個值對比?歷歷萬世2018-12-25 18:27:01

透過要進行對比的兩個工作表或多個工作表位於不同的檔案中,我們首先要做的就是當多個要進行對比的Excel工作表資料複製貼上到同一個工作表中,同時做好各個工作表的命名準備,以便能正確的區分資料的來源。

excel新表有多個值,如何與舊錶一個值對比?

2

接下來確定資料“關鍵字”部分,即能夠唯一標識記錄的關鍵字組合,這樣就可以在進行資料對比時,能夠唯一的標記一條記錄。比如,如圖所示的“ID”和“姓名”就可以唯一標識一條記錄。

excel新表有多個值,如何與舊錶一個值對比?

3

接下來,我們還要確定一下,各個工作表資料行的範圍以及要進行對比的關鍵字所在的位置資訊。如圖可知,

員工基礎報表中資料範圍為“3至12行”,關鍵字所在的位置為(i行1列)和(i行2列)。

員工待遇統計表中資料範圍為“3至11行”,關鍵字所在的位置為(i行1列)和(i行2列)。

excel新表有多個值,如何與舊錶一個值對比?

excel新表有多個值,如何與舊錶一個值對比?

4

在本經驗中,我們所要做的就是從表1中找出表2中已經存在的記錄,並且做好相應的標記,以便供檢視。為此,按鍵盤上的快捷組合鍵“Alt+F11”進入VBA編輯模式。或者切換至“開發工具”選項卡,點選“Visual Basic”按鈕進入VBA環境。

有關“開發工具”選項卡的開啟方法請參考欄目二部分。

excel新表有多個值,如何與舊錶一個值對比?

5

右擊“Microsoft Excel物件”,從彈出的右鍵選單中選擇“插入”->“模組”項。

excel新表有多個值,如何與舊錶一個值對比?

6

接著輸入如圖所示的程式碼:

Sub 資料對比()

Dim i As Integer

Dim j As Integer

For i = 3 To 12 '員工基礎報表資料範圍

For j = 3 To 11 '員工待遇統計表資料範圍

If Sheets("員工基礎報表").Cells(i, 1) = Sheets("員工待遇統計表").Cells(j, 1) Then

If Sheets("員工基礎報表").Cells(i, 2) = Sheets("員工待遇統計表").Cells(j, 2) Then

Sheets("員工基礎報表").Cells(i, 8) = "已存在" '存在時進行標記

End If

End If

Next j

Next i

End Sub

excel新表有多個值,如何與舊錶一個值對比?

7

然後點選工具欄上的“除錯執行”按鈕。

excel新表有多個值,如何與舊錶一個值對比?

8

待子過程執行結束後,返回Excel工作表進行檢視,就會發現對比結果已經出來啦。基於此,我們可以進行更近一步的資料處理操作。順便也將另一張工作表中的記錄一同展示出來,以供參考。

excel新表有多個值,如何與舊錶一個值對比?

excel新表有多個值,如何與舊錶一個值對比?

END

開啟“開發工具”選項卡的方法

點選“Office”按鈕,從彈出的選單中選擇“Excel選項”按鈕。

excel新表有多個值,如何與舊錶一個值對比?

接著在開啟的視窗中勾選“在功能區顯示‘開發工具’選擇卡”項即可。

excel新表有多個值,如何與舊錶一個值對比?