如何基于‘Register No.’将两工作表合并至列序不同的第三工作表?
基于Register No.用VLOOKUP合并Tabelle2/Tabelle3到Tabelle1的完整实现方案
针对你的需求——把Tabelle2和Tabelle3的数据基于Register No.合并到列顺序不同的Tabelle1,我整理了一套可落地的分步操作,完美适配你的初步思路并补充后续步骤:
第一步:导入Tabelle2数据到Tabelle1
首先搞定Tabelle2的数据匹配,包括把Register No.导入Tabelle1的A列:
- 1.1 填充
Register No.:在Tabelle1的A2单元格(假设表头行是A1)输入=Tabelle2!A2,然后下拉填充到Tabelle2中所有包含Register No.的行,这样Tabelle2的编号就全部同步到Tabelle1的A列了。 - 1.2 匹配其他列数据:比如Tabelle1的B列需要对应Tabelle2的D列数据,在Tabelle1的B2单元格输入VLOOKUP公式:
=VLOOKUP($A2, Tabelle2!$A:$Z, COLUMN(Tabelle2!D:D), FALSE)$A2固定查找值所在列,下拉时不会偏移;COLUMN(Tabelle2!D:D)自动获取目标列的列号,不用手动数第几列,适配列顺序变化;FALSE确保精确匹配Register No.。
- 1.3 复制公式到Tabelle1其他需要从Tabelle2取数的列,调整公式里的
Tabelle2!D:D为对应的目标列即可。
第二步:整合Tabelle3数据到Tabelle1
接下来处理Tabelle3的数据,因为它有独立的Register No.,需要先补充编号再匹配数据:
- 2.1 补充Tabelle3的
Register No.:找到Tabelle1 A列最后一行的下一个空白单元格(比如A101),输入=Tabelle3!A2,下拉填充到Tabelle3所有有编号的行,完成两个表编号的汇总。 - 2.2 匹配Tabelle3的其他列:比如Tabelle1的E列对应Tabelle3的C列,在Tabelle1的E2单元格输入:
加入=IFERROR(VLOOKUP($A2, Tabelle3!$A:$Z, COLUMN(Tabelle3!C:C), FALSE), "")IFERROR是为了避免当某个编号只在Tabelle2存在时出现#N/A错误,会显示空白,让表格更整洁。 - 2.3 同样把公式复制到其他需要从Tabelle3取数的列,调整对应列参数就行。
第三步:优化与验证
- 建议把Tabelle2和Tabelle3的数据区域转为表格格式(选中数据→按
Ctrl+T),这样公式会自动引用结构化区域,后续新增数据时不用手动调整公式的范围,更省心。 - 最后随机抽查几个
Register No.,对比Tabelle1的数据和原表是否一致,确保匹配准确。
内容的提问来源于stack exchange,提问作者HPM




