計算 Excel 中兩列之間的所有匹配項 / 重複項
Author: Xiaoyang Last Modified: 2025-05-12
比較兩列數據並計算兩列中的所有匹配項或重複項可能是我們大多數人的一項常見任務。例如,您有兩列名稱,某些名稱同時出現在第一列和第二列中,現在,您想計算兩列之間的所有匹配名稱(匹配項位於兩列的任何位置),如下圖所示。本教程將介紹一些在 Excel 中實現此目標的公式。
- 使用 SUMPRODUCT 和 COUNTIF 函數計算兩列之間的所有匹配項
- 使用 COUNT 和 MATCH 函數計算兩列之間的所有匹配項
- 使用 SUMPRODUCT、ISNUMBER 和 MATCH 函數計算兩列之間的所有匹配項
使用 SUMPRODUCT 和 COUNTIF 函數計算兩列之間的所有匹配項
要計算兩列之間的所有匹配項,SUMPRODUCT 和 COUNTIF 函數的組合可以幫助您,通用語法為:
=SUMPRODUCT(COUNTIF(range1,range2))
- range1, range2: 兩個包含您想要計算所有匹配項的數據範圍。
現在,請在空白單元格中輸入或複製以下公式,然後按 Enter 鍵以獲取結果:
=SUMPRODUCT(COUNTIF(A2:A12,C2:C12))
公式解釋:
=SUMPRODUCT(COUNTIF(A2:A12,C2:C12))
- COUNTIF(A2:A12,C2:C12): 此 COUNTIF 函數檢查 C 列中的每個名稱是否存在於 A 列中。如果名稱存在,則顯示數字 1,否則顯示數字 0。該函數將返回這樣的結果:{1;1;0;0;0;1;0;0;1;0;1}。
- SUMPRODUCT(COUNTIF(A2:A12,C2:C12))=SUMPRODUCT({1;1;0;0;0;1;0;0;1;0;1}): SUMPRODUCT 函數將此數組中的所有項目相加並得到結果:5。
使用 COUNT 和 MATCH 函數計算兩列之間的所有匹配項
通過結合 COUNT 和 MATCH 函數,您還可以獲得兩列之間的匹配數量,通用語法為:
{=COUNT(MATCH(range1,range2,0))}
陣列公式,應同時按下 Ctrl + Shift + Enter 鍵。
陣列公式,應同時按下 Ctrl + Shift + Enter 鍵。
- range1, range2: 兩個包含您想要計算所有匹配項的數據範圍。
請在空白單元格中輸入或複製以下公式,然後同時按下 Ctrl + Shift + Enter 鍵以獲得正確的結果,請參閱截圖:
=COUNT(MATCH(A2:A12,C2:C12,0))
公式解釋:
=COUNT(MATCH(A2:A12,C2:C12,0))
- MATCH(A2:A12,C2:C12,0): 此 MATCH 函數將在 C 列中查找 A 列中的名稱,並返回每個匹配值的位置。如果找不到某個值,則會顯示錯誤值。因此,您將獲得這樣的數組列表:{11;2;#N/A;#N/A;#N/A;6;1;#N/A;#N/A;#N/A;9}。
- COUNT(MATCH(A2:A12,C2:C12,0))= COUNT({11;2;#N/A;#N/A;#N/A;6;1;#N/A;#N/A;#N/A;9}): COUNT 函數將計算數組列表中的數字以獲得結果:5。
使用 SUMPRODUCT、ISNUMBER 和 MATCH 函數計算兩列之間的所有匹配項
在 Excel 中,您可以嘗試使用 SUMPRODUCT、ISNUMBER 和 MATCH 函數來查找兩列中的匹配項並進行計數,通用語法為:
=SUMPRODUCT(--(ISNUMBER(MATCH(range1,range2,0))))
- range1, range2: 兩個包含您想要計算所有匹配項的數據範圍。
在空白單元格中輸入或複製以下公式以輸出結果,然後按 Enter 鍵返回計算結果,請參閱截圖:
=SUMPRODUCT(--(ISNUMBER(MATCH(A2:A12,C2:C12,0))))
公式解釋:
=SUMPRODUCT(--(ISNUMBER(MATCH(A2:A12,C2:C12,0))))
- MATCH(A2:A12,C2:C12,0): 此 MATCH 函數將在 C 列中查找 A 列中的名稱,並返回每個匹配值的位置。如果找不到該值,則會顯示錯誤值。因此,您將獲得這樣的數組列表:{11;2;#N/A;#N/A;#N/A;6;1;#N/A;#N/A;#N/A;9}。
- ISNUMBER(MATCH(A2:A12,C2:C12,0))= ISNUMBER({11;2;#N/A;#N/A;#N/A;6;1;#N/A;#N/A;#N/A;9}): 在這裡,ISNUMBER 函數將數組中的數字轉換為 TRUE,其他值轉換為 FALSE。因此,您將獲得這樣的數組:{TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE}。
- --(ISNUMBER(MATCH(A2:A12,C2:C12,0)))=--({TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE}): --這個雙負號用於將 TRUE 值轉換為 1,將 False 值轉換為 0,並返回這樣的結果:{1;1;0;0;0;1;1;0;0;0;1}。
- SUMPRODUCT(--(ISNUMBER(MATCH(A2:A12,C2:C12,0))))=SUMPRODUCT({1;1;0;0;0;1;1;0;0;0;1}): 最後,SUMPRODUCT 函數將對該數組中的所有項目求和並得到結果:5。
相關函數使用:
- SUMPRODUCT:
- SUMPRODUCT 函數可用於將兩列或多列或數組相乘,然後獲取乘積的總和。
- COUNTIF:
- COUNTIF 函數是 Excel 中的一個統計函數,用於計算符合條件的單元格數量。
- COUNT:
- COUNT 函數用於計算包含數字的單元格數量,或者計算參數列表中的數字數量。
- MATCH:
- Microsoft Excel 的 MATCH 函數在一個範圍內搜索特定值,並返回該值的相對位置。
- ISNUMBER:
- ISNUMBER 函數在單元格包含數字時返回 TRUE,否則返回 FALSE。
更多文章:
- 計算兩列之間的匹配數量
- 例如,我在 A 列和 C 列中有兩個數據列表,現在,我想比較這兩列並計算 A 列中的值是否在同一行中找到於 C 列,如下圖所示。在這種情況下,SUMPRODUCT 函數可能是解決此任務的最佳函數。
- 計算 Excel 中包含特定文本的單元格數量
- 假設您有一列文本字符串,並且希望找到包含特定文本作為其內容一部分的單元格數量。在這種情況下,您可以使用通配符字符 (*) 表示應用 COUNTIF 函數時的任何文本或字符。本文將介紹如何在 Excel 中使用公式處理此工作。
- 計算 Excel 中不等於多個值的單元格數量
- 在 Excel 中,您可以輕鬆地使用 COUNTIF 函數獲取不等於特定值的單元格數量,但您是否嘗試過計算不等於多個值的單元格?例如,我希望獲取 A 列中產品的總數,但排除 C4:C6 中的特定項目,如下圖所示。本文將介紹一些在 Excel 中解決此工作的公式。
最佳的辦公生產力工具
Kutools for Excel - 幫助您脫穎而出
? | Kutools AI 助手:基於智能執行、生成代碼、創建自訂公式、分析數據並生成圖表、調用 Kutools 函數…來徹底改變數據分析方式。 |
熱門功能:查找、標記或識別重複值 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
超級 VLookup:多條件 | 多值 | 跨多工作表 | 模糊查找... | |
高級下拉列表:簡易下拉列表 | 依賴下拉列表 | 多選下拉列表... | |
列管理器:添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較列以選擇相同和不同的單元格 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文字工具(添加文本、刪除特定字符 ...) | 50+ 圖表 類型(甘特圖 ...) | 40+ 實用 公式(基於生日計算年齡 ...) | 19 個插入工具(插入QR碼、從路徑插入圖片 ...) | 12 個轉換工具(金額轉大寫、匯率轉換 ...) | 7 個合併與分割工具(高級合併行、分割Excel單元格 ...) | ... 還有更多 |
Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...
Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能
- 一秒鐘內在數十個打開的文檔之間切換!
- 每天為您減少數百次鼠標點擊,告別滑鼠手。
- 當查看和編輯多個文檔時,您的工作效率提高 50%。
- 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。