【问题标题】:Excel: combine columns in different sheets matching informationsExcel:组合不同工作表中的列匹配信息
【发布时间】:2015-03-07 23:29:35
【问题描述】:

我在 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) 中实现这一点?有没有函数或公式?

提前致谢。

【问题讨论】:

    标签: vba excel excel-formula


    【解决方案1】:

    在您的新工作表中,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 中的 firstnamelastname 与一个空格连接起来,以匹配 Sheet2 的 Name。可能是 lastname&", "&firstname.

    【讨论】:

    • 嘿! :) 谢谢回复!!我尝试了公式,但得到“N/A”。在这里我设置了完全相同的表格:docs.google.com/spreadsheets/d/…
    • I$1 指的是什么?
    • @MultiformeIngegno - I1 应该是 question1,J1 应该是 question2,等等。
    • 完美!它有效:) 最后一件事:如果匹配不成功,是否可以有一个空白输出而不是“N/A”?
    • @MultiformeIngegno - 将整个公式包装在另一个 IFERROR 中,如果找不到则返回零长度字符串。 (见上文)或者,仅将第二个 VLOOKUP 包装在相同类型的 IFERROR 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多