2015-07-21 23 views
-1

我有两个excel文件,一个是从excel中提取的,另一个是从SAP中提取的。一个文件,较大的一个,有一个名为EmployeeID的列,另一个文件有一个名为EMP_ID的列,唯一的区别是名称,这些列中的实际员工ID是相同的。我想要做的是将这两个文件合并为一个文件;但是,例如,第一个excel文件上的员工ID'ZZZ'可能在第一行,但在另一个文件中,'ZZZ'的EMP_ID可能在第35行。如何结合具有共同列(但不是相同的顺序)的两个excel

是否有办法以某种方式组合这些2个文件?另外,按照EMP_ID A到Z排序不会有帮助,因为这些文件没有完全相同的条目数,因此不会同步它们,以便每个员工在每个文件的同一行上。

这两个文件仅供参考。文件1 - http://i.imgur.com/go1S6Ra.png文件2 - http://i.imgur.com/x4vOKIN.png

+0

如果没有像VBA这样的东西(这可能对速度是可取的),您可以从两张纸上提取名称(将列表附加到另一张纸上),删除重复项并将唯一列表用作VLOOKUP或INDEX/MATCH的关键字。 – pnuts

回答

0

下面是一个纯粹的Excel解决方案。打开文件1,然后转到空白表单。复制并粘贴文件2的内容。

转到表2中空白列中的第一个单元格,并使用vlookup。公式看起来像这样,但你必须修改它。

=VLOOKUP(A1,Sheet1.$A$1:$B$419,2,FALSE) 

有四个参数,你需要玩前三个来得到你想要的。

A1将此更改为员工ID存在于表单2中的单元格。所以如果它在第三列,应该是C1

Sheet1.$A$1:$B$250这是来自文件1的数据的地方。第一个标签的默认名称是Sheet1,但根据打开文件的方式不同,它可能会有所不同。第二部分是数据范围。左上角的单元格和右下角的单元格。所以如果你在第一张和第1000行中有5列,它将是$A$1:$E$1000(我将在最后解释美元符号)

1第三个参数目标数据在雇员ID右侧有多少列。所以如果你的列是ID,名字,姓氏,把3放在这里会让你的姓。

FALSE,这控制着excel的匹配行为。 TRUE寻找近似匹配,但实际上它只是使事情变得不可预测。

一旦搜索正在工作,并且您正在查找您想要的内容,请填写公式中的其余列。如果您尝试查找的ID不在Sheet1中,则会出现错误,因此请确保您调整了存在的公式。如果您需要查找多个事物(例如名字和姓氏),只需将公式拖到右侧,并为第三个参数输入不同的数字。

那么美元符号的交易是什么?这会影响将公式向下或向上拖入新单元格时发生的情况。如果你这样写:

=VLOOKUP(A1,Sheet1.A1:B100,2,FALSE)

并向下拖动一个小区,你会得到这样的:

=VLOOKUP(A2,Sheet1.A2:B101,2,FALSE)

所有行坐标由一个上去。如果你拖过来,而不是所有的柱坐标就上去一个,像这样:

=VLOOKUP(B1,Sheet1.B1:C100,2,FALSE)

美元符号冻结他们在的地方,所以范围不漂移。您希望搜索值继续移动,因为每条线都应查找下一个员工ID,但您不希望范围移动。

相关问题