多个 VLOOKUP 的 SUM

SUM of multiple VLOOKUP

看起来很简单的问题,但我没有设法解决它。我有以下 tables:

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

结果

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

我要查找的是 Results table 中的最后一行,它在 Values table 中查找 key,取其value 并对列中的所有 keys 求和(即 FOOBAR)。最终结果将是:

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

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

我不确定是否有其他解决方案,但您可以使用额外的 2 列来解决此问题,例如 EF

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

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

下拉公式,在CD列的底部添加一个SUM来计算EF列。

额外:这些是我用于示例的列。

  • 键 = A 列
  • 值 = B 列
  • Foo = C 列
  • 条形 = D 列

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

{=SUM(VLOOKUP(...))} 的组合无效,但 {=SUM(SUMIF(...))} 的组合有效:

在A12输入=SUM(SUMIF($A:$A;A7:A10;$B:$B))然后用Ctrl+Shift+Enter[=29=保存].然后您可以将其复制到 B12。

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