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

Posted

技术标签:

【中文标题】根据列中的匹配数据合并两个 Excel 表【英文标题】:Merge two Excel tables Based on matching data in Columns 【发布时间】:2014-10-28 17:37:47 【问题描述】:

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

我有 Table01 的列:

组号 姓名 价格

我有 Table02 的列:

组号 城市 代码

我已经合并了两个 Table01 和 Table02 的表,如 Image03 所示,但没有顺序。

但是,如您所见,两个表中的 Group No Column 是相似的。

我需要的是考虑到“组号”列来获取 Table01 和 02 的匹配行。

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

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

谢谢!

【问题讨论】:

将两者都转换成表格并使用匹配和索引函数。 【参考方案1】:

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

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

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

上下复制。

编辑:这是一张图片。数据在两张纸上。在 Sheet1 上,将公式输入到单元格 D2 中。然后将公式复制到 F2,然后根据需要向下复制任意数量的行。

【讨论】:

谢谢你的回答,但你能解释一下吗@teylyn 我应该把这个函数写到哪个单元格@teylyn 有趣。 OP 接受答案一年后投反对票。需要详细说明吗? 如果您的行数大于 100,则相应地更改值 100。 这只是为了帮助人们如何可能遇到类似的情况。【参考方案2】:

Teylyn 的回答对我来说很有效,但我必须对其进行一些修改才能获得正确的结果。我想为需要它的人提供一个扩展的解释。

我的设置如下:

Sheet1:2014年完整数据 Sheet2:在 A1:D50 中更新了 2015 年的行, 按第一列排序 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 等列,直到达到表格的整个宽度。由于使用了 $ 符号,这在单元格 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,所以查找区域是不变的,但是输入数据是从当前行开始的。

【讨论】:

以上是关于根据列中的匹配数据合并两个 Excel 表的主要内容,如果未能解决你的问题,请参考以下文章

根据Excel中的逻辑从2列中检索最大数据

excel两个工作表如何关联

C#中两个数据表合并成一个表如何操作?

如果匹配,如何合并两个数据帧并从新列中的另一列返回数据?

用于合并 Excel 中与其他列中的信息匹配的行的单元格的宏

如何匹配和合并两个具有完全不同值的数据框,数据框列中的数字除外?