2011-10-20 29 views
3

现状:VLOOKUP上的姓氏和名字,没有唯一的ID

我有两个表:第一个表包含员工姓名的列表;第二张表包含员工的薪酬报告。我需要通过在工作表2上搜索员工,将工作表薪酬数据从工作表2中抽取到工作表1中。使工作表2中的工作变得复杂的是工作表2中的报告包含更改员工,工资,并且没有唯一ID。

我正在寻找填写A栏。我无法永久修改此表,因为它会影响下游报告。

我拆分B列以前是first name,middle initial (if any),last name。请注意,大约10%的名字可能有不同的姓氏。例如,表单1包含名称Tara Feather,但第二个报告使用她的娘家姓名Tara Bird。

尝试至今:

我是新来的Excel,和刚学VLOOKUP。我的第一个尝试是根据表1和表2中的姓氏列来提取数据,然后输入数据。不幸的是,虽然这对于90%的条目起作用,但最后的10%具有错误的值,并且需要更多的时间比手动输入。

可能的思路:

我的下一个念头,就是一个If声明和VLOOKUP结合起来,这样,如果last name匹配,first name匹配,然后执行VLOOKUP和拉值,或者输入“ERROR”。

有了这个新想法,我不知道我现在是否处于宏观领域,或者是否有可以提供帮助的功能组合。理想情况下,以100%的精度做的越多越好。但是,如果它可以突出显示它在表2中完成的名称,我总是可以手动输入非突出显示,仍然可以节省时间。

你的想法和方向是什么?

回答

2

你想100%的准确性,但如果有人在两张表上有不同的名字,那么这是永远不会工作。

因此,要获得90%的正确:

在第二片把这个公式中G2并把它复制下来尽可能多的行,你的名字。

=B2&D2 

将这个公式中的H2,并复制下来

=F2 

在把这个公式在A2中的第一片和拷贝下来

=VLOOKUP(D2&C2,'second sheet'G:H,2,false) 

任何行,其中它不能找到一个匹配的名字和姓氏将在他们#N/A。

假设您可以永久修改第二张表,您可以放入正确的姓以便公式起作用。如果你有两个同名的人,你也可以在公式中输入中间名。

+1

这只适用于一个轻微的调整。因为sheet1可能有一个中间的初始值,所以我需要添加一个IF语句。它最终看起来像这样:= IF(F2 =“”,D2&E2,D2&F2)如果有一个中间的初始值,它会在第二列。所以,我在col3中检查空白,然后加入1和2.如果不是空白,我加入1和3.然后如上所述一切。底线,只要没有两个人的姓和名相同,这就是上帝派。你每个星期三都为我节省了3个冗长的时间。谢谢! – user1005237