在Excel中合并具有不同列的数据集

在Excel中合并具有不同列的数据集,excel,Excel,我有一个数据集,在Excel的几个工作表中,我需要合并到一个工作表中。问题是所使用的列不完全相同,有些总是使用,有些只是在少数几页中使用。列的位置也不相同,即一列可能在一张图纸中具有位置X,而在另一张图纸中具有位置Y。如何在不丢失数据和结构的情况下将它们合并到一个工作表中 有关列标题的示例,请参见附件。一行表示一张带有数据及其列标题的工作表 我建议您创建最终合并的工作表,其中包含所有工作表中的所有列,按任意顺序排列。然后把这个公式写在B2单元格中 =IFERROR(HLOOKUP(B$1,'My

我有一个数据集,在Excel的几个工作表中,我需要合并到一个工作表中。问题是所使用的列不完全相同,有些总是使用,有些只是在少数几页中使用。列的位置也不相同,即一列可能在一张图纸中具有位置X,而在另一张图纸中具有位置Y。如何在不丢失数据和结构的情况下将它们合并到一个工作表中

有关列标题的示例,请参见附件。一行表示一张带有数据及其列标题的工作表


我建议您创建最终合并的工作表,其中包含所有工作表中的所有列,按任意顺序排列。然后把这个公式写在B2单元格中

=IFERROR(HLOOKUP(B$1,'My Sheet 1'!$A$1:$Z1001, ROW(A2),FALSE),"")
公式将在源工作表的列标题中查找合并工作表中的列标题,并从该列中提取值。如果在源工作表中找不到该列,则公式将返回一个空字符串,该字符串显示为空白。因此,您可以在不需要更改的情况下从左到右一直复制公式

  • B$1
    采用合并工作表B1中的列标题。您可以将位置更改为另一行。当您将公式复制到右侧时,它将自动调整为C$1、D$1等
  • “我的工作表1”
    是源工作表的名称。您需要创建不同的公式,以便从每个源工作表导入
  • $A$1:$Z$1001
    是要从中复制的范围。确保它具有任何源工作表的最大列数和最大行数。请注意,第1行必须包含列标题。如果源工作表中的列标题位于另一行,则必须调整查找范围,使该行位于顶部
  • 行(A2)
    返回A2的行号,当然是2。如果查找范围中的行号与图纸行号相同,但不一定相同,那就更好了。该数字指定查找范围中的第二行。因此,如果范围为$A$3:$Z$1001,则B列第二行中的单元格将为B4,但仍将是公式中的
    行(A2)
    。当然,
    行(A2)
    会随着您向左、向右和向下复制而更改,这确保它可以检索所有值
  • 但是,从一张图纸导入所有888行后,您可能希望从合并图纸的第889行开始追加从下一张图纸导入的内容。当然,您放在那里的公式必须引用另一个工作表,并且它必须再次指定
    行(A2)
    ,因为您需要合并工作表第889行下一个工作表的第二行中的值。调整后的公式适用于从第二张图纸导入的所有内容,只需在第三张图纸开始时再次更改


    导入完成并验证后,应使用导入的值替换合并工作表中的公式。通过单击左上角垂直和水平标尺相交的小矩形选择整个工作表,然后单击
    复制
    (或按Ctl+C),单击功能区的
    粘贴
    按钮,并从“粘贴值”下提供的三个选项中选择一个。

    您有什么版本的Excel?