完全动态的 SUMIF 数组公式

Fully dynamic SUMIF array formula

目标:在Excel中制作一个完全动态的SUMIF数组公式。示例 sheet:

单元格 C10、D10 和 C11 将发生变化,公式仍需有效。例如,如果 C10 变为 ID,C11 变为 171,则公式应将 ID 列行等于 171 的所有权重相加。

这是单元格 D11 的公式:

=SUMIF(INDEX(B2:C7,,MATCH(C10,B1:C1,)),C11,D2:D7)

注意:这是一个普通公式。用 Enter 键确认。不是数组公式。

您提到 D10 以及 C10 和 C11 都会发生变化,但是您的示例数据没有说明要从哪一列信息中求和。我已经调整了您的样本数据以适应。

  1. 从 C10:D11 空白开始。
  2. Select C10 并选择数据 ► 数据工具 ► 数据验证。 Select 允许:列出 并为 来源提供以下内容: =$B:$C.
  3. Select D10 并返回数据验证。 Select 允许:列出 并为 来源提供以下内容: =$D:$E.
  4. Select C11 并返回数据验证。 Select 允许:列出 并为 来源提供以下内容: =INDEX($B:$C, 0, MATCH($C, $B:$C, 0))
  5. 将以下公式放入 D11:
    =SUMIFS(INDEX($D:$E, 0, MATCH($D, $D1:$E1, 0)), INDEX($B:$C, 0, MATCH($C, $B:$C, 0)), $C)

您现在应该在 C10:C11、D10 中有三个下拉列表和一个动态 SUMIFS function 总计,基于您 select 的标准。