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

基于ID从另一MS Excel工作表匹配填充数据的技术问询

嘿,这里有几个简单靠谱的方法帮你完成这个ID匹配填充的需求,都是Excel里常用的工具,挑你顺手的来就行:

方法1:用VLOOKUP函数(经典入门款)

这是最常用的匹配函数,上手快,适合数据量不大的情况。
假设你的工作表1叫Sheet1,工作表2叫Sheet2:

  • 在Sheet1的C2单元格(也就是data1列的第一个数据行)输入公式:
    =VLOOKUP(B2, Sheet2!$A:$C, 2, FALSE)
    解释一下参数:
    • B2:Sheet1里要匹配的ID值
    • Sheet2!$A:$C:Sheet2里的数据源区域(锁定列,下拉时不会跑偏)
    • 2:要返回Sheet2里第2列(也就是data1)的值
    • FALSE:要求精确匹配,避免出现近似匹配的错误
  • 按回车后,把公式下拉到所有行,就能得到所有ID对应的data1
  • 同理,在Sheet1的D2单元格输入公式获取data2:
    =VLOOKUP(B2, Sheet2!$A:$C, 3, FALSE)
    把参数里的2改成3,就是返回Sheet2第3列的值啦
方法2:用INDEX+MATCH组合(更灵活的进阶款)

VLOOKUP有个小局限:如果数据源里的ID列不在最左边,就不好用。而INDEX+MATCH组合没有这个问题,适配性更强。

  • 在Sheet1的C2单元格输入:
    =INDEX(Sheet2!$B:$B, MATCH(B2, Sheet2!$A:$A, 0))
    拆解一下:
    • MATCH(B2, Sheet2!$A:$A, 0):先找到Sheet2里和B2匹配的ID所在的行号
    • INDEX(Sheet2!$B:$B, 行号):根据这个行号,返回Sheet2里B列(data1)对应的值
  • 下拉公式到所有行,得到data1
  • 要获取data2的话,把公式里的Sheet2!$B:$B改成Sheet2!$C:$C就行:
    =INDEX(Sheet2!$C:$C, MATCH(B2, Sheet2!$A:$A, 0))
方法3:Power Query(批量处理神器,不用写公式)

如果你的数据量很大,或者以后还要经常做类似的匹配,用Power Query更高效,还能一键刷新数据:

  1. 打开Excel,点击「数据」选项卡,分别把Sheet1和Sheet2的数据加载到Power Query:
    • 选中Sheet1的数据区域 → 点击「数据」→「从表格/区域」(如果弹出对话框,勾选「我的表格有标题」)
    • 同样操作把Sheet2的数据也加载进来
  2. 在Power Query编辑器里,找到Sheet1的查询,点击「合并查询」→「合并查询作为新查询」
  3. 在合并对话框里:
    • 上方选择Sheet1的ID列,下方选择Sheet2的ID列
    • 合并类型选「仅匹配」(只保留两边都有的ID)
    • 点击确定
  4. 现在你会看到新的查询里多了一列「Sheet2」,点击这列右上角的展开按钮,勾选data1和data2,取消勾选「使用原始列名作为前缀」,点击确定
  5. 最后点击「关闭并上载」,就能得到匹配好的完整表格啦!以后只要Sheet2的数据更新,右键表格→「刷新」就能自动同步。

内容的提问来源于stack exchange,提问作者Troy Valenta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:56:07