统计 Excel 中两列之间的所有匹配项/重复项
Author: Xiaoyang Last Modified: 2025-05-07
比较两列数据并统计两列中的所有匹配项或重复项可能是我们大多数人的常见任务。例如,您有两列姓名,其中一些姓名同时出现在第一列和第二列中,现在您想统计两列之间所有匹配的姓名(匹配项可以位于两列中的任何位置),如下图所示。本教程将介绍一些在 Excel 中实现此目标的公式。
- 使用 SUMPRODUCT 和 COUNTIF 函数统计两列之间的所有匹配项
- 使用 COUNT 和 MATCH 函数统计两列之间的所有匹配项
- 使用 SUMPRODUCT、ISNUMBER 和 MATCH 函数统计两列之间的所有匹配项
使用 SUMPRODUCT 和 COUNTIF 函数统计两列之间的所有匹配项
要统计两列之间的所有匹配项,SUMPRODUCT 和 COUNTIF 函数的组合可以帮助您,通用语法为:
=SUMPRODUCT(COUNTIF(范围1,范围2))
- 范围1, 范围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(range1,range2,0))}
数组公式,应同时按下 Ctrl + Shift + Enter 键。
数组公式,应同时按下 Ctrl + Shift + Enter 键。
- 范围1, 范围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(范围1,范围2,0))))
- 范围1, 范围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 中包含特定文本的单元格数量
- 假设您有一系列文本字符串,并希望找到包含某些文本作为其内容一部分的单元格数量。在这种情况下,您可以使用通配符字符 (*) 来表示应用 COUNTIF 函数时标准中的任何文本或字符。本文将介绍如何在 Excel 中使用公式处理此任务。
- 统计 Excel 中不等于多个值的单元格数量
- 在 Excel 中,您可以轻松地使用 COUNTIF 函数获取不等于特定值的单元格数量,但您是否尝试过统计不等于多个值的单元格?例如,我想获取 A 列中产品的总数,但排除 C4:C6 中的特定项目,如下图所示。本文将介绍一些在 Excel 中解决此任务的公式。
最佳的办公生产力工具
Kutools for Excel - 助您脱颖而出
🤖 | Kutools AI 助手:基于以下功能彻底改变数据分析方式:智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用Kutools函数… |
热门功能: 查找、高亮或标记重复项 | 删除空行 | 合并列或单元格而不丢失数据 | 四舍五入无需公式 ... | |
超级VLookup: 多条件 | 多值 | 跨多个工作表 | 模糊查找... | |
高级下拉列表: 简易下拉列表 | 级联下拉列表 | 多选下拉列表... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较列以 选择相同和不同的单元格 ... | |
精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...) ... | |
排名前15的工具集: 12个 文本 工具(添加文本,删除特定字符 ...) | 50多种 图表 类型(甘特图 ...) | 40多种实用 公式(基于生日计算年龄 ...) | 19个 插入 工具(插入二维码,从路径插入图片 ...) | 12个 转换 工具(小写金额转大写,汇率转换 ...) | 7个 合并与拆分 工具(高级合并行,分割Excel单元格 ...) | ... 还有更多 |
Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...
Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑
- 一秒内切换数十个打开的文档!
- 每天为您减少数百次鼠标点击,告别鼠标手。
- 在查看和编辑多个文档时,您的工作效率将提高50%。
- 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。