【问题标题】:Excel: Create Custom Sheet 2 Based on Data in Sheet 1Excel:根据工作表 1 中的数据创建自定义工作表 2
【发布时间】:2013-07-05 05:05:20
【问题描述】:

我的电子表格中有两张工作表。每张工作表都有第一列具有共同值(但是它们的排序不同,并且它们不在每张工作表中都存在)。

如果可能的话,我正在尝试做的是在工作表 2 中放置一个公式,如果第 1 列与工作表 1 匹配,则将选择性数据从工作表 1 的同一行中的某些列复制到某些工作表 2 中的列。

例子:

表 1 有一个标题设置和示例数据行,如下所示:

标题 |星期几 |第一 |最后

主管 |星期三 |迈克 |琼斯

表 2 有一个标题设置和示例数据行,如下所示:

标题 |姓氏 |工作日

主管 | (空单元格) | (空单元格)

运行我正在寻找的神秘公式后,放置在上面的 2 个空单元格中,工作表 2 应与工作表 1 中的主管键匹配,并将我指定的数据复制到每一列中,例如:

标题 |姓氏 |工作日

主管 |琼斯 |星期三

(在这种情况下,我告诉它将“星期几”列映射到工作日,并将“最后”列映射到“姓氏”)。

我希望这很容易/可能???救命???

【问题讨论】:

    标签: excel excel-formula vba


    【解决方案1】:

    VBA 不是必需的。您可以使用简单的 VLOOKUP:

    =VLOOKUP(cell to look-up, range where you want to look up the values (first column *must* contain the keys to look-up) including all columns that you want to retrieve, the position of the column to be retrieved relative to the first column specified in argument 2, 0 (specifies you want an exact match))

    例如:

    =VLOOKUP(A1, Sheet1!$A$1:$D$150, 2, 0) ' Retrieves the 2nd column matching criteria in A1

    不过,请注意,您的密钥必须是唯一的。基于头衔的匹配信息似乎有点奇怪,因为很可能会有不止一个人被分配到某个角色。例如,主管可能不止 1 个。

    【讨论】:

      【解决方案2】:

      使用 INDEX 和 MATCH(优于 VLOOKUP)。

      我建议重命名您的标题,以便它们在两张纸上匹配。

      表 1 应该是:

      标题 |平日 |名字 |姓氏

      在工作表 2 中,单元格 B2 输入

      =INDEX(Sheet1!$A:$D,match($A2,Sheet1!$A:$A,0),match(B$2,Sheet1!$1:$1,0))
      

      您也可以将其拖放到 C 列中,因为您使用了两个 MATCH 函数并且单元格已正确锚定。

      【讨论】:

        猜你喜欢
        • 2023-03-20
        • 2016-04-28
        • 2016-05-26
        • 2010-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-12
        • 1970-01-01
        相关资源
        最近更新 更多