如果一行包含另一张表中的键,则汇总金额

如果一行包含另一张表中的键,则汇总金额

我在一个 LibreOffice Calc 文档中有两张工作表:

工作表1

| Key | Amount  |
|-----|---------|
| ABC |    1    |
| DEF |    2    |
| GHI |    3    |

工作表2

|  Keys |
|-------|
|  ABC  |
|  XYZ  |
|  JKL  |
|  GHI  |

现在我想在 Sheet1 的行中添加金额,但是仅有的其中键包含在 Sheet2 中的任意位置。对于上述示例,总和将是4(ABC带有金额的键1GHI带有金额的键3)。

我一直在使用“高级筛选”来解决这个问题,SUBTOTAL但我真的很想要一个解决方案,让我在表格更改时不必重新应用筛选。任何帮助都将不胜感激!

答案1

一种方法是将 SUMPRODUCT 与 COUNTIF 结合起来。我复制了您的示例。

工作表2:
在此处输入图片描述

工作表1:
在此处输入图片描述

E2 中的公式:

=SUMPRODUCT(COUNTIF(Sheet2!$A$2:$A$5,"="&$A$2:$A$4)*$B$2:$B$4)

SUMPRODUCT 对 Sheet1 上每一行的 COUNTIF 结果乘以 B 列中的金额进行数组样式计算。假设 Sheet2 上的键不包含重复项,则计数结果为1Sheet2 是否包含该键0

我建议使用明确的范围,而不是简单的列引用(即 A:A)。您可以用空行填充明确的范围,以允许可能需要的任何潜在扩展,并且公式仍然有效。但是,Calc 需要很长时间才能评估整个列。

相关内容