在 Excel 中,如果你有两列数据(例如 A 列和 B 列)并想要找到它们的交集(即两个列中都存在的值),可以使用以下方法:
方法 1:使用 COUNTIF 函数
如果你想在 C 列中标记哪些值同时存在于 A 列和 B 列,可以在 C2 单元格输入以下公式,并向下填充:
=IF(COUNTIF(B:B, A2)>0, A2, "")
这个公式的作用是:
COUNTIF(B:B, A2): 计算 A2 在 B 列中出现的次数。- 如果次数大于 0,则返回 A2,否则返回空白。
方法 2:使用 FILTER 函数(Excel 365 及以上)
如果你使用的是 Excel 365 或者 Excel 2019,你可以使用 FILTER 函数直接提取交集:
=FILTER(A:A, ISNUMBER(MATCH(A:A, B:B, 0)))
这个公式的作用是:
MATCH(A:A, B:B, 0): 查找 A 列中每个值在 B 列中的位置。ISNUMBER(...): 判断是否找到了匹配项。FILTER(A:A, ...): 仅返回匹配成功的值。
方法 3:使用 VLOOKUP 或 XLOOKUP
如果你想在 C 列中显示 A 列中哪些值也出现在 B 列:
=IF(ISNA(VLOOKUP(A2, B:B, 1, FALSE)), "", A2)
或者,如果你使用的是 Excel 365,可以使用 XLOOKUP:
=IFERROR(XLOOKUP(A2, B:B, A2, ""), "")
这些公式的作用是:
- 如果 A2 在 B 列中找得到,就返回 A2,否则返回空白。
方法 4:使用 Power Query(适用于数据分析)
- 选中 A 列和 B 列,打开 数据 → 获取和转换数据 → 从表/范围。
- 在 Power Query 中,加载两个表,然后使用 合并查询 选择“内连接”。
- 仅保留匹配的值,并加载回 Excel。
如果你需要自动筛选出交集数据,FILTER 方法是最简洁的。如果只是标记哪些值在两个列中都存在,COUNTIF 方法较为通用。