基于公共行值将2个工作簿合并到1个工作表中

时间:2017-05-05 14:37:55

标签: excel

我有两个工作簿,一个使用电子邮件和IP值,第二个使用名称和IP值。 我正在尝试将这两个工作簿合二为一,并将名称和电子邮件与常用IP相匹配。

屏幕截图:http://take.ms/0Y3wv

示例:

Workbook 1 has:
jack123@gmail.com 1.1.1.1
emilly444@gmail.com 2.2.2.2

练习册2有:

John 12.12.12.12
Jack 1.1.1.1
Emily 2.2.2.2

结果应为:

(Discard John cause we don't have his IP in the 2nd workbook).
jack123@gmail.com 1.1.1.1 Jack
emilly444@gmail.com 2.2.2.2 Emily

2 个答案:

答案 0 :(得分:1)

这是 Vlookup功能的另一项工作。

首先,可以使您的生活更轻松(个人体验)的一件事是将公共数据列放在工作簿2的“A”列位置。

如果要将输出(包含来自Workbook 1和2的数据)输出到Workbook 1,只需使用Vlookup:  在工作簿1的第3列(第2行)(假设您的数据按照示例组织,并且在工作簿2上,您的列A具有1.1.1.1):

=Vlookup($B2,'Workbook2'!$A$1:$B$3,2,False) 

然后将公式向下拖动到所有包含数据的行。

此代码的作用:

1: $ B2将选择工作簿1中的标识符

2:'Workbook2'!$ A $ 1:$ B $ 3将选择查找数据的范围(此处您只需单击所需的工作簿并选择数据,而不是单击“,”,然后单击工作簿1)。另外,我使用了固定引用($),因此你可以拖下公式。

3: 2是函数将从中检索数据的列。

4: False只是完全匹配。

您可以为更多数据列执行此操作,只需注意标识符以及从中获取数据的列。

对于缺少的数据,您可以在VBA中编写if函数,以便在某个单元格为#N / A时删除该行(如果您使用vlookup,将获得该结果)。

答案 1 :(得分:1)

一个简单的INDEX MATCH公式可以做你想要的,

=INDEX(Sheet2!A:B,MATCH(B1,Sheet2!B:B,0),1)

enter image description here

此公式从Sheet2获取所需数据。现在,我将剩下的部分留给谷歌,了解如何从不同的工作簿中获取数据。这是一个简单的任务和公式的微小变化。如果您遇到任何困难,请告诉我。