在 Excel 中统计两列之间的所有匹配项/重复项
对两列数据进行比较并统计所有匹配项或重复项,是许多用户常见的需求。例如,假设你有两列姓名,其中部分姓名同时出现在第一列和第二列,此时你希望统计两列中所有匹配的姓名(无论它们在两列中的具体位置),如图所示。本文将为你介绍几种在 Excel 中实现这一目标的实用公式。

- 通过 SUMPRODUCT 和 COUNTIF 函数组合统计两列间所有匹配项
- 通过 COUNT 和 MATCH 函数组合统计两列间所有匹配项
- 通过 SUMPRODUCT、ISNUMBER 和 MATCH 函数组合统计两列间所有匹配项
通过 SUMPRODUCT 和 COUNTIF 函数组合统计两列间所有匹配项
要统计两列间所有匹配项,可通过 SUMPRODUCT 和 COUNTIF 函数组合实现,通用语法如下:
=SUMPRODUCT(COUNTIF(range 1,range 2))
- range 1, range 2:这两个区域包含您需要统计所有匹配项的数据。
现在,请在空白单元格中输入或复制以下公式,然后按 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(range 1,range 2,0))}
Array formula, should press Ctrl + Shift + Enter keys together.
Array formula, should press Ctrl + Shift + Enter keys together.
- range 1, range 2:这两个区域包含您需要统计所有匹配项的数据。
请在空白单元格中输入或复制以下公式,然后按 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(range 1,range 2,0))))
- range 1, range 2:这两个区域包含您需要统计所有匹配项的数据。
输入或复制以下公式到空白单元格输出结果,然后按 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 中完成此任务的理想选择。
- 统计 Excel 中包含特定文本的单元格数量
- 假设您有一个文本字符串列表,并希望统计包含特定文本的单元格数量。在这种情况下,您可以在使用 COUNTIF 函数时结合通配符(*),以代表任意文本或字符作为条件。本文将为您介绍如何在 Excel 中通过公式实现这一需求。
- 统计 Excel 中不等于多个值的单元格数量
- 在 Excel 中,您可以通过 COUNTIF 函数轻松统计不等于某个值的单元格数量,但您是否尝试过统计不等于多个值的单元格数量?例如,我想统计 A 列中产品的总数,但需要排除 C4:C6 中的特定项目,如下截图所示。本文将为您介绍几种在 Excel 中解决该问题的公式方法。
这款最佳办公效率工具
Kutools for Excel —— 助您脱颖而出
| 🤖 | KUTOOLS AI 助手:基于数据分析的变革创新智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮显示或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 超级 VLookup:多条件查询 | 多值返回 | 跨多工作表 | 模糊查找…… | |
| 高级下拉列表:轻松下拉列表 | 依赖下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列 | 移动列 | 切换隐藏列的显示状态 |比较列与选择相同/不同单元格…… | |
| 特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿和表管理器|资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表群发邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 顶级 15 工具组:12 文本工具(添加文本,删除特定字符……)| 50+ 图表 类型(甘特图……)| 40+ 实用公式(基于生日计算年龄……)| 19 插入工具(插入二维码,按路径插入图片……)| 12 转换工具(小写金额转大写,汇率转换……)| 7 合并和拆分工具(高级合并行,拆分 Excel 单元格……)|……以及更多 |
在您的首选语言中使用 Kutools——支持英语、西班牙语、德语、法语、中文以及 40+ 种其他语言!
Kutools for Excel 拥有超过 300 项功能,让您的需求一键轻松实现……
Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑
- 一秒即可切换数十个已打开的文档!
- 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
- 查看和编辑多个文档时,工作效率提升 50%。
- 为 Office(包括 Excel)引入高效标签页,让您同样畅享如 Chrome、Edge 和 Firefox 般的便捷体验。