跳至頁尾內容
EXCEL 工具

如何在Excel中合併單元格:綜合指南

學習如何比較Excel中的兩列資料是日常資料分析中最常見的任務之一。 無論目標是要找出兩個訂單列表中不匹配的資料、尋找出現在一列而不在另一列中的條目,還是確認Excel中的兩列是否保存相同資料,Microsoft Excel提供了幾種方法來實現。 本指南首先介紹最快的方法,然後介紹其他每一個列比較的替代方法,以便總能找到合適的辦法。

最快的方法:用Ctrl+\選擇差異

逐行比較兩個並排資料列的最快方法是使用一個鍵盤快捷鍵。 突出顯示兩列資料,然後按Ctrl + \(Control和反斜杠)。 Excel會立即選擇第二列中與第一列中的值不同的每個單元格。 在這些單元格仍被選中的情況下應用填充顏色或字體顏色,並且不匹配的資料會立即顯示出來。

此快捷鍵在背後運行定位特殊 > 行差異命令,因此此逐行比較可以在無需任何公式的情況下對數字、文字字串和日期進行操作。 這是會議或截止日期前快速目視檢查的理想方法。對於需要持續跟踪的大型資料集,下面的條件格式和公式方法經得起長時間的考驗,並且可以很好地與指南中講到的如何在Excel中突出顯示重複項和如何在Excel中刪除空行的技術結合使用。

可以在功能區中找到達到相同結果的第二種方法。 打開首頁選項卡,點擊右側的查找 & 選擇,選擇定位特殊,然後選擇行差異。 所有不同的單元格都會被選中,準備好進行格式設置。 喜歡通過公式來獲得可重複結果的讀者可以直接轉到下面的IF和EXACT公式方法,這兩種方法都會產生一個標記每個匹配的第三列,並在資料更改時自動更新。

進一步了解如何在Excel中比較兩列資料:適用於任何電子表格的7種快速方法:圖片1 - 選中的兩列,Ctrl+\結果顯示不同的單元格陰影為黃色

方法2:用條件格式突出顯示重複或唯一值

條件格式提供了一種色碼方法,用於可視化地突出顯示隨著資料更改而自動刷新的匹配項,這有助於在值改變時直觀地比較資料。 要突出顯示同時出現在兩列中的重複值:

  1. 選擇兩列。
  2. 首頁選項卡中點擊條件格式

  3. 選擇突出顯示單元格規則 > 重複值
  4. 選擇一種顏色樣式並點擊確定

顯示在兩列中的每個值都會被遮蔽。 要建立一個翻轉邏輯的新規則,從相同的"突出顯示單元格規則"對話框中的下拉列表中選擇重複獨特,該對話框顯示只出現在一列中的唯一條目。 當比較排序不同的列表時,此方法效果顯著,因為它匹配的是值而不是相同的行位置。 以上範例在檢查多於兩列時同樣有效。

進一步了解如何在Excel中比較兩列資料:適用於任何電子表格的7種快速方法:圖片2 - 重複值對話框打開,掉下式選單顯示重複和唯一選項

方法3:簡單的等於公式

要逐行比較兩個單元格得到一個真或假答案,一個單元公式就可以完成任務。 在資料旁的一個空白列中,使用等號運算符的公式如下:

=A2=B2

按Enter鍵並向下拖動填充柄。 Excel會在兩個值匹配時返回TRUE,在值不同時返回FALSE。 這種等號方法設置快速,過後容易過濾,因為過濾FALSE後可以在幾秒鐘內隔離資料項目中的每個不匹配項。

進一步了解如何在Excel中比較兩列資料:適用於任何電子表格的7種快速方法:圖片3 - 兩個比較列旁邊填滿TRUE和FALSE值的第三列

方法4:使用IF函式獲得可讀標籤

TRUE和FALSE有效,但普通語言標籤在共享報告中閱讀效果更好。 IF函式返回自定義文字,使匹配資料易於掃描。 在公式欄中輸入以下範例:

=IF(A2=B2, "Match", "No Match")

向下拖動相同的公式,並且每一行都會帶有清晰的標籤。 引號中的文字可以是任何內容,比如"OK"和"Check this",這使得輸出對不整天處理電子表格的同事更友好。 IF函式與這裡的大多數其他方法配合使用,當可讀輸出有助於一目了然地識別匹配時,效果特別好。

進一步了解如何在Excel中比較兩列資料:適用於任何電子表格的7種快速方法:圖片4 - IF公式在公式欄中,顯示的列中有Match和No Match結果

方法5:使用EXACT函式進行區分大小寫比較

標準的等於比較將"Apple"和"apple"視為相同的值。 當區分大小寫很重要時,比如比較產品程式碼或密碼,EXACT函式逐字元執行精確匹配。 這是用於區分大小寫比較的工具:

=EXACT(A2, B2)

該函式對兩個單元格進行比較,只有完全匹配時(包括大小寫)才返回TRUE。 將其包裝在IF函式中以顯示標籤:=IF(EXACT(A2,B2), "Match", "Differs")。 Excel在文字字串在大小寫上有差異時立即返回FALSE,這是使用等號運算符的標準公式所忽略的。

方法6:使用VLOOKUP和XLOOKUP查找匹配值

上面的方法逐行比較兩列。 若要回答不同的問題,即"Column A中的哪些值出現在Column B中",查找函式最有效。VLOOKUP函式在整個列中搜尋查找值以尋找匹配。 在新的Microsoft Excel版本中,XLOOKUP是最簡潔的選擇,與VLOOKUP不同,它可以在任何方向查找:

=IF(ISNA(XLOOKUP(A2, B:B, B:B)), "Missing", "Found")

在舊版中,VLOOKUP函式與ISNA搭配使用效果相同:

=IF(ISNA(VLOOKUP(A2, B:B, 1, FALSE)), "Missing", "Found")

每個公式掃描整個第二列中的值並報告其是否存在。 B:B單元格引用使用絕對引用樣式,鎖定整個列,因此相同公式可以乾淨地複製到每一行。 這是比較包含相同資料但在不同順序排列的客戶、發票或庫存項列表的標準方法。

方法7:使用COUNTIF計算匹配值

COUNTIF回答了一個值在另一列中出現多少次。 在Column A旁的輔助列中:

=COUNTIF(B:B, A2)

當結果為0時,意味著該值不存在於Column B中,當結果為1或更多時,則確認匹配。 此函式返回的計數可與過濾器或條件格式很好地搭配使用,以標記每個0,這有助於在兩個不斷增長的列表中保持一致性。

方法8:使用陣列公式計算總差異

若要獲得總結兩列差異行數的單個數字,陣列公式一次性計算所有不匹配:

=SUMPRODUCT(--(A2:A100<>B2:B100))

這會返回行數總合,該行中的值有差異,這對於在深入資料分析前對兩個資料列進行快速健康檢查很有用。 舊版Excel可能需要按Ctrl+Shift+Enter來確認為陣列公式。

使用VBA宏方法進行重複比較

每周進行同樣比較的人可以使用簡短的宏來自動化。 按Alt + F11打開VBA編輯器,插入新模塊,並粘貼一個遍歷兩列並標記每個不匹配的迴圈。 一個基礎版本比較Column A和Column B,並將Column B中每一個不同的單元格顏色設為紅色:

Sub CompareColumns()
    Dim i As Long
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(i, 1).Value <> Cells(i, 2).Value Then
            Cells(i, 2).Interior.Color = vbRed
        End If
    Next i
End Sub
Sub CompareColumns()
    Dim i As Long
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(i, 1).Value <> Cells(i, 2).Value Then
            Cells(i, 2).Interior.Color = vbRed
        End If
    Next i
End Sub
Sub CompareColumns()
    Dim i As Long
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(i, 1).Value <> Cells(i, 2).Value Then
            Cells(i, 2).Interior.Color = vbRed
        End If
    Next i
End Sub
$vbLabelText   $csharpLabel

F5運行它。 當相同的工作簿結構重複時,宏會節省時間,儘管需要啟用宏並將文件保存為.XLSM格式。 對於超出單列之外的更複雜任務,指南結束處的開發者方法比宏更具有擴展性。

常見問題和排除故障

在比較列時有幾個常見的問題會讓人出錯。 下面的修復涵蓋了一些主要指導中常被忽略的問題。

隱藏空格導致虛假不匹配。 一個單元格中的尾隨空格使得"Smith"和"Smith "看起來像是值不同,即使文字讀起來相同。 用TRIM函式將兩側包裹以去除額外空格:=IF(TRIM(A2)=TRIM(B2), "Match", "No Match")。

作為文字儲存的數字。 當一列含有真正的數字,而另一列包含作為文字儲存的數字,即使數字相同,比較也會失敗。 單元格角落的小綠三角信號文字格式化。 選擇範圍,點擊警告圖標,並選擇轉換為數字來修正。

空白單元格偏差結果。 兩列中的空白單元格取決於公式可能註冊為匹配或不匹配。 在運行比較前清除空單元格,或新增一個檢查,如=IF(AND(A2<>"",B2<>""), IF(A2=B2,"Match","No Match"), "Blank")

不同的行數。 如果兩列長度不等,基於公式的方法會在較短列結束後停止。 查找方法如XLOOKUP比簡單的等於公式更好地處理這個問題,因為它們會搜索整個單列而不考慮長度。

看起來相同但儲存不同的日期。 作為文字輸入的日期("01/05/2025")將註冊為與真實日期值不同,即使兩者顯示完全相同。 在比較前通過格式化單元格 > 日期確認兩列都使用真實日期格式。

條件格式突出太多。 當重複值規則幾乎遮蔽了所有內容時,這兩個列表可能因為設計上的原因共享了許多重複項。 在相同單元格規則對話框中切換到唯一選項,以顯示一組小得多實際的例外項目。

為開發者:用IronXL編寫程式比較列

日程運行的電子表格任務、處理多個文件或進入更大應用程式的任務最好在程式碼中處理,而不是手動。 IronXL 直接在C#中讀取和比較Excel列,而無需在機器上安裝Microsoft Office或Interop。列比較僅需幾行:

using IronXL;
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
for (int row = 2; row <= sheet.RowCount; row++)
{
    var valueA = sheet[$"A{row}"].StringValue;
    var valueB = sheet[$"B{row}"].StringValue;
    string result = valueA == valueB ? "Match" : "No Match";
    sheet[$"C{row}"].Value = result;
}
workbook.SaveAs("compared.xlsx");
using IronXL;
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
for (int row = 2; row <= sheet.RowCount; row++)
{
    var valueA = sheet[$"A{row}"].StringValue;
    var valueB = sheet[$"B{row}"].StringValue;
    string result = valueA == valueB ? "Match" : "No Match";
    sheet[$"C{row}"].Value = result;
}
workbook.SaveAs("compared.xlsx");
Imports IronXL

Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet

For row As Integer = 2 To sheet.RowCount
    Dim valueA = sheet($"A{row}").StringValue
    Dim valueB = sheet($"B{row}").StringValue
    Dim result As String = If(valueA = valueB, "Match", "No Match")
    sheet($"C{row}").Value = result
Next

workbook.SaveAs("compared.xlsx")
$vbLabelText   $csharpLabel

同一個程式庫能夠讀取、寫入格式化公式評估在XLSX、XLS和CSV文件之間,這使得它成為可以勝任比手動電子表格工作更複雜的任務和資料管道的實用選擇。 以這種方式自動化列比較的團隊通過更快、可重複的報告獲得競爭優勢。

對於希望了解在C#和.NET中Excel自動化工作的方法的系統學習,請造訪IronXL文件和教程

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話