如何将Workbook B匹配ID的数据复制到Workbook A并永久保留?
解决方案:将Workbook B的匹配数据导入Workbook A并固化
方法1:VLOOKUP匹配后转静态值(最简便)
- 在Workbook A的
D2单元格输入公式,下拉获取助学金编号:=VLOOKUP(A2,[WorkbookB.xlsx]Sheet1!$A:$C,2,FALSE) - 在
E2单元格输入公式,下拉获取助学金金额:=VLOOKUP(A2,[WorkbookB.xlsx]Sheet1!$A:$C,3,FALSE) - 选中D、E列所有公式结果,按
Ctrl+C复制;右键点击选中区域,选择粘贴值(或按Ctrl+Alt+V,在弹窗中选「值」确定)。 - 此时公式已转换为静态文本/数值,删除Workbook B后数据不会丢失。
方法2:用Power Query批量合并并生成静态数据
适合数据量大或需要后续重复更新的场景:
- 打开Workbook A,点击「数据」选项卡 → 获取数据 → 自文件 → 从工作簿,选中Workbook B并导入目标工作表到Power Query编辑器。
- 同样将Workbook A的当前数据加载到Power Query编辑器。
- 在编辑器中点击「合并查询」,选择两个表,匹配列选「ID号」,连接类型选左外部(保留Workbook A的所有行,仅匹配Workbook B的对应数据)。
- 展开合并后的列,只勾选「助学金编号」和「助学金金额」。
- 点击「关闭并上载」,将结果加载到Workbook A的新工作表或覆盖原表的D、E列。生成的数据为静态,与Workbook B无关联。
方法3:INDEX+MATCH替代VLOOKUP(同样需转静态值)
函数逻辑与VLOOKUP一致,写法更灵活:
D2单元格公式:=INDEX([WorkbookB.xlsx]Sheet1!$B:$B,MATCH(A2,[WorkbookB.xlsx]Sheet1!$A:$A,0))E2单元格公式:=INDEX([WorkbookB.xlsx]Sheet1!$C:$C,MATCH(A2,[WorkbookB.xlsx]Sheet1!$A:$A,0))- 完成匹配后,按方法1的步骤复制并粘贴值,固化数据。
关键提示
所有公式类方法必须转换为静态值,否则会依赖Workbook B的文件链接,删除后数据会失效。
内容的提问来源于stack exchange,提问作者Nivian Govender
相关产品推荐
相关产品推荐

