You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于两个Worksheet的共同ID字段创建仅包含交集数据的第三个Worksheet

如何基于两个Worksheet的共同ID字段创建仅包含交集数据的第三个Worksheet

没问题,这事儿我熟!你要的是两个工作表基于ID字段的交集数据——也就是同时出现在两张表里的行,下面给你几种靠谱的实现方法,覆盖手动公式和自动化工具两种场景:

方法一:用公式手动匹配(适合小数据集)

这种方法不需要复杂工具,直接用Excel/Google Sheets自带的函数就能搞定:

  • 第一步:在新建的目标工作表中,先把表头(ID、FirstName、LastName)和源表对齐,输入到A1:C1单元格。
  • 第二步:提取共同ID:在目标表的A2单元格输入以下数组公式,然后下拉填充直到出现空值:
    =IFERROR(INDEX(Sheet1!$A$2:$A$100, MATCH(1, COUNTIF(Sheet2!$A$2:$A$100, Sheet1!$A$2:$A$100)*ISNA(MATCH(Sheet1!$A$2:$A$100, $A$1:A1, 0)), 0)), "")
    

    注意:Excel旧版本需要按 Ctrl+Shift+Enter 触发数组公式,新版Excel直接回车即可;把公式里的Sheet1、Sheet2换成你的实际工作表名,$A$2:$A$100调整为ID列的实际数据范围。

  • 第三步:匹配对应姓名:在目标表B2单元格输入 =VLOOKUP($A2, Sheet1!$A:$C, 2, FALSE),C2单元格输入 =VLOOKUP($A2, Sheet1!$A:$C, 3, FALSE),然后下拉填充,就能自动带出对应FirstName和LastName了。

方法二:用Power Query自动化处理(Excel,适合大数据集)

如果你的数据量很大,公式下拉容易卡,用Power Query更高效还能一键刷新:

  • 第一步:选中Sheet1的数据区域,点击「数据」选项卡→「从表格/范围」,把数据导入Power Query编辑器(勾选「我的表格有标题」),关闭加载弹窗。
  • 第二步:重复第一步,把Sheet2的数据也导入Power Query编辑器。
  • 第三步:在Power Query界面,选中其中一个表,点击「合并查询」→「合并查询作为新查询」,在弹窗里选择另一个工作表,连接键选「ID」列,连接类型选「内部(仅匹配行)」,点击确定。
  • 第四步:合并完成后,点击合并列右侧的展开箭头,只勾选你需要的字段(避免重复列),然后点击「关闭并上载」,就能得到一个自动生成的新工作表,里面就是两个表的交集数据。后续源表更新后,右键新表→「刷新」就能同步数据。

方法三:Google Sheets专属QUERY函数

如果你用的是Google Sheets,一个函数就能搞定:
在目标表的A2单元格输入以下公式,直接生成结果:

=QUERY({Sheet1!A:C; Sheet2!A:C}, "select Col1, Col2, Col3 where Col1 is not null group by Col1, Col2, Col3 having count(Col1) > 1", 1)

这个公式会合并两张表的数据,然后筛选出ID出现次数大于1的行——也就是同时存在于两个表的记录,表头会自动同步。

备注:内容来源于stack exchange,提问作者Systemspoet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 15:18:08