Excel:将不同工作表中的列组合在一起以匹配信息

时间:2015-03-07 23:29:35

标签: excel vba excel-vba excel-formula

我在Excel中有两张纸。

第一个结构是:

A           B               C               D                   E           F               G           H
mail        firstname       lastname        date_of_birth       school      classroom       teacher     type
--@--.com   ------          ----            2000-12-20          ----        ---             ----        -----

在第二张表中,我收到了一份调查回复,为此我收集了学生的电子邮件地址和姓名。

A           B               C               D                   E           F               G           H
Name        mail            question1       question2           question3   question4       question5   question6

我需要合并第一张和第二张中的信息,以创建一张新纸张,其中包含第一张纸张的所有列以及从第二张纸张的C开始的列。 当然,我需要匹配行以将相应的问题附加到相应学生的行。这两张纸没有以相同的方式订购(我不能按名称订购,因为有些人没有回复调查)。 匹配的标准需要基于:1。电子邮件和2.名称(连接第一张纸的名字和姓氏,然后匹配第二张纸的“名称”列。),按此顺序(首先检查是通过电子邮件进行匹配,如果失败名称是后备检查)。

如何在Excel(2013)中实现这一目标?有功能还是公式?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在您的新工作表中,A2:H2可能很简单,

=Sheet1!A2

向右填充Sheet3!H2。 Sheet3!I2将是,

=IFERROR(IFERROR(VLOOKUP($A2, Sheet2!$B:$H, match(I$1, Sheet2!$B$1:$H$1, 0), FALSE), VLOOKUP($B2&" "&$C2, Sheet2!$A:$H, match(I$1, Sheet2!$A$1:$H$1, 0), FALSE)), "")

向右填充Sheet3!N2然后填写Sheet3!A2:N2向下以捕获所有可用记录。

我已将Sheet1中的名字姓氏与一个空格连接起来,以匹配Sheet2&#39> 名称。它可以是 lastname &","& firstname