【问题标题】:SUM of multiple VLOOKUP多个 VLOOKUP 的总和
【发布时间】:2015-02-25 09:27:39
【问题描述】:

这似乎是一个简单的问题,但我没有设法解决它。我有以下表格:

价值观

| Key | Value |
|-----|-------|
|  A  |   1   |
|  B  |   2   |
|  C  |   3   |

结果

| Foo | Bar |
|-----|-----|
|  A  |  B  |
|  C  |  B  |
|  A  |  A  |
|  B  |  C  |
| ... | ... |

我正在寻找的是Results 表中的最后一行,它在Values 表中查找key,获取其value 并将所有keys 汇总在一列中(即@ 987654328@ 和 BAR)。最终结果是:

| Foo | Bar |
|-----|-----|
|  A  |  B  |
|  C  |  B  |
|  A  |  A  |
|  B  |  C  |
|-----|-----|
|  7  |  8  |

我一直在尝试不同的 VLOOKUP、INDEX 和 MATCH 函数,但我仍然无法做到。有什么想法吗?

【问题讨论】:

    标签: excel excel-formula key vlookup


    【解决方案1】:

    我假设您想要一个没有额外列的解决方案。然后你就进入了数组公式(又名 CSE 或 ControlShiftEnter 函数)。

    {=SUM(VLOOKUP(...))} 的组合不起作用,但 {=SUM(SUMIF(...))} 的组合可以:

    在 A12 中输入 =SUM(SUMIF($A$1:$A$3;A7:A10;$B$1:$B$3)) 并使用 Ctrl+Shift+Enter 保存。然后,您可以将其复制到 B12。

    问题是每次将值添加到列表 A7:B10 时,您都需要更改 Array 函数(或者您最初使范围足够大)......这对于建议的额外 =VLOOKUP() 列更能说明问题由 CustomX 提供。

    【讨论】:

    • 原则上,我的key-value 表不会改变,所以这非常适合我的问题。谢谢!
    • 如果你想避免使用 CTRL+SHIFT+ENTER 你可以用 SUMPRODUCT 替换 SUM 然后你就不需要 "array entry"
    【解决方案2】:

    我不确定其他解决方案,但您可以通过使用额外的 2 列来解决这个问题,例如 EF

    在 E 列输入:=VLOOKUP(C2;$A$1:$B$3;2;0)

    在 F 列中输入:=VLOOKUP(D2;$A$1:$B$3;2;0)

    将公式下拉并在CD 列的底部添加SUM 以计算列EF

    补充:这些是我用于您的示例的列。

    • 键 = A 列
    • 值 = B 列
    • Foo = C 列
    • Bar = D 列

    【讨论】:

    • 不错!这是一种方法,它解决了我的问题:) 但我仍然想知道是否有更“直截了当”的方法。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多