完全动态的 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 都会发生变化,但是您的示例数据没有说明要从哪一列信息中求和。我已经调整了您的样本数据以适应。
- 从 C10:D11 空白开始。
- Select C10 并选择数据 ► 数据工具 ► 数据验证。 Select 允许:列出 并为 来源提供以下内容:
=$B:$C
.
- Select D10 并返回数据验证。 Select 允许:列出 并为 来源提供以下内容:
=$D:$E
.
- Select C11 并返回数据验证。 Select 允许:列出 并为 来源提供以下内容:
=INDEX($B:$C, 0, MATCH($C, $B:$C, 0))
。
- 将以下公式放入 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 的标准。
目标:在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 都会发生变化,但是您的示例数据没有说明要从哪一列信息中求和。我已经调整了您的样本数据以适应。
- 从 C10:D11 空白开始。
- Select C10 并选择数据 ► 数据工具 ► 数据验证。 Select 允许:列出 并为 来源提供以下内容:
=$B:$C
. - Select D10 并返回数据验证。 Select 允许:列出 并为 来源提供以下内容:
=$D:$E
. - Select C11 并返回数据验证。 Select 允许:列出 并为 来源提供以下内容:
=INDEX($B:$C, 0, MATCH($C, $B:$C, 0))
。 - 将以下公式放入 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 的标准。