合并两个Excel表基于列中的匹配数据

时间:2014-09-04 04:53:58

标签: excel merge

我一直在研究一个excel问题,我需要找到答案,我将在下面解释。

我的Table01与列:

  • Group No
  • 名称
  • 价格

我的Table02包含以下列:

  • Group No

我合并了Table01&amp ;; Table02如Image03所示,但没有订单。

但是,正如您所见,两个表中的组无列相似。

我需要的是获得Table01&的匹配行。 02考虑' Group No'列。

最终结果将被视为最终图像。

有没有办法用excel函数做到这一点?

The Image

谢谢!

2 个答案:

答案 0 :(得分:36)

将表格放在Sheet2的第二张图片中,D到F列。

在Sheet1中,单元格D2使用公式

=iferror(vlookup($A2,Sheet2!$D$1:$F$100,column(A1),false),"")

向上和向下复制。

修改:这是一张图片。数据分为两页。在Sheet1上,将公式输入到单元格D2中。然后将公式复制到F2,然后根据需要向下复制多行。

enter image description here

答案 1 :(得分:10)

Teylyn的回答对我来说非常有用,但我不得不对其进行一些修改以获得正确的结果。我想为任何需要它的人提供一个扩展的解释。

我的设置如下:

  • Sheet1:2014年的完整数据
  • Sheet2:A1中的2015年更新行:D50, 按第一栏排序
  • Sheet3:合并行
  • 我的数据没有标题行

我将以下公式放在Sheet3的单元格A1中:

=iferror(vlookup(Sheet1!A$1;Sheet2!$A$1:$D$50;column(A1);false);Sheet1!A1)

请按如下方式阅读:获取Sheet1中第一列的值(旧数据)。在Sheet2中查找(更新的行)。如果存在,则输出Sheet2中指示列的值。出错时,输出Sheet1的当前列的值。

注意:

  • 在我的公式中,“;”用作参数分隔符而不是“,”。那是因为我位于欧洲,我们使用“,”作为小数分隔符。改变“;”回到“,”如果你住在一个“。”的国家。是小数点分隔符。

  • A $ 1:表示将公式复制到不同列中的单元格时始终使用第1列。 $ A $ 1表示:即使将公式复制到不同的行或列,也始终采用确切的单元格A1。

在A1中粘贴公式后,我将范围扩展到B,C等列,直到达到表格的整个宽度。由于使用了$ -signs,因此在单元格B1,C1等中提供以下公式:

=IFERROR(VLOOKUP('Sheet1'!$A1;'Sheet2'!$A$1:$D$50;COLUMN(B1);FALSE);'Sheet1'!B1)
=IFERROR(VLOOKUP('Sheet1'!$A1;'Sheet2'!$A$1:$D$50;COLUMN(C1);FALSE);'Sheet1'!C1)

等等。请注意,查找仍在第一列中完成。这是因为VLOOKUP需要在查找完成的列上对查找数据进行排序。但是,输出列是粘贴公式的列。

接下来,在Sheet 3中选择一个矩形,从A1开始,并且具有Sheet1中的数据大小(相同的行数和列数)。按Ctrl-D将第一行的公式复制到所有选定的单元格。

细胞A2,A3等将得到这些公式:

=IFERROR(VLOOKUP('Sheet1'!$A2;'Sheet2'!$A$1:$D$50;COLUMN(A2);FALSE);'Sheet1'!A2)
=IFERROR(VLOOKUP('Sheet1'!$A3;'Sheet2'!$A$1:$D$50;COLUMN(A3);FALSE);'Sheet1'!A3)

由于使用了$ -signs,查找区域是常量,但是从当前行使用输入数据。