如何将 INDIRECT 与 SUMIFS 结合使用以满足条件范围?

如何将 INDIRECT 与 SUMIFS 结合使用以满足条件范围?

我正在处理具有弹性范围的 Excel 工作表。我不想使用 A:A 作为范围,而是想使用 INDIRECT 和 2 个单元格来确定范围。

目前我被困在这个 =SUMIFS(INDIRECT("$B"&B9):INDIRECT("$B"&B10),$A$12:$A$33,D$11)

使用 INDIRECT 确定具有 2 个单元格的范围的正确方法是什么?

<img>https://i.stack.imgur.com/LyYNp.png</img>

答案1

您的公式返回错误,因为 Sumifs 中的范围需要具有相同的大小,但由于使用 Indirect() 构造,第一个范围是可变长度,而第二个范围是固定范围。

Indirect() 是构建变量范围的一种可能性,您可以将相同的技术应用于第二个范围,如下所示:

=SUMIFS(INDIRECT("$B"&$B9):INDIRECT("$B"&$B10),INDIRECT("$A"&$B9):INDIRECT("$A"&$B10),D$11)

请注意,我为 B9 和 B10 引用添加了 $ 符号,因此复制公式时该列不会发生变化。

但请注意,Indirect 是易变的,在大型工作簿中过度使用它可能会导致速度变慢。编写公式的另一种方法是使用非易变的 Index(),如下所示:

=SUMIFS(INDEX($B:$B,$B9):INDEX($B:$B,$B10),INDEX($A:$A,$B9):INDEX($A:$A,$B10),D$11)

相关内容