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

Excel中如何筛选两个数据集的匹配ID并生成仅含匹配项的列表?

仅保留两个数据集匹配ID的实现方法

以下是几种实用方案,可根据你的Excel版本和数据量选择:

方法一:用FILTER函数快速提取(Excel 365/2021及以上版本适用)

这是最简便的方式,直接生成仅含匹配项的结果:

  1. 新建工作表(可命名为「匹配结果」)
  2. 在A2单元格输入公式,提取两表共有的ID:
    =FILTER(Sheet1!A:A, COUNTIF(Sheet2!A:A, Sheet1!A:A)>0)
    
  3. 在B2单元格输入公式,提取Sheet1对应列的测量数据:
    =XLOOKUP(A2, Sheet1!A:A, Sheet1!B:B)
    
    向右拖动填充至需要的列(C、D等)
  4. 在对应位置(比如E2)输入公式,提取Sheet2的测量数据:
    =XLOOKUP(A2, Sheet2!A:A, Sheet2!B:B)
    
    同样向右拖动填充,即可得到两表匹配ID的完整数据

方法二:用Power Query合并(全版本适用,大数据场景友好)

如果数据量较大,Power Query处理更高效且不易出错:

  1. 点击「数据」选项卡 →「从表格/区域」,分别将Sheet1和Sheet2的数据导入Power Query编辑器(勾选「我的表格有标题」)
  2. 在编辑器中选中其中一个查询(比如Sheet1的查询),点击「合并查询」→「合并查询作为新查询」
  3. 合并设置:
    • 选择要合并的另一个查询(Sheet2)
    • 两表均选中A列(ID列)作为合并键
    • 连接类型选择「内部」(仅保留匹配的行)
  4. 点击确定后,展开合并后的列(勾选需要保留的B、C、D等列),可按需去掉列名前缀
  5. 点击「关闭并上载」,选择加载到新建工作表,即可得到仅含匹配项的数据集

方法三:辅助列+筛选(旧版Excel兼容方案)

如果你的Excel不支持FILTER或Power Query,可采用传统方法:

  1. 在Sheet1的空白列(比如F列)输入公式,判断当前ID是否在Sheet2中存在:
    =COUNTIF(Sheet2!A:A, A2)
    
    向下拖动填充,结果为1表示匹配,0表示无匹配
  2. 筛选Sheet1中F列值为1的行,复制这些行的ID和B、C、D等列到新工作表
  3. 在新工作表的对应列(比如E列)用XLOOKUP提取Sheet2的对应数据:
    =XLOOKUP(A2, Sheet2!A:A, Sheet2!B:B)
    
    填充后若仍有#NA值,直接删除对应行即可

内容的提问来源于stack exchange,提问作者Aron Burley

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:09:30