dynamic计算COUNTIFS标准范围

我有一个excel公式如下,

COUNTIFS($A$8:$A$14,$A8,$B$8:$B$14,$B8) 

在这里我想用一个简单的逻辑来计算标准范围。

而不是$A$14我希望这个价值是8美元+4美元,即$ 14美元

换句话说,它应该得到当前行,并添加4作为COUNTIFS的标准范围

如何做到这一点是在COUNTIFS公式内擅长的?

干杯

您可以在公式中使用=OFFSET(Cell Reference, Rows, Columns)来实现此目的,例如:

=COUNTIFS($A$8:OFFSET($A$8,6,0),$A8, etc...)

让我们假设要返回的范围的大小存储在单元格D1中。

 =COUNTIFS($A$8:INDEX(A:A,ROW($A$8)+D1),$A8,$B$8:INDEX(B:B,ROW($B$8)+D1),$B8) 

如果你想把范围定义为在你的问题中提到的当前行之后的一定数量的行,那么仍然假设要添加的行数在D1中,你可以使用下面的代码:

  =COUNTIFS($A$8:INDEX(A:A,ROW()+D1),$A8,$B$8:INDEX(B:B,ROW()+D1),$B8) 

奥利弗的回答扩大。 完整格式的OFFSET允许您指定一个完整的范围,而不仅仅是一个单元格。 OFFSET(Reference, Row Offset, Col Offset, Height, Width)所以你可以这样做:

 OFFSET(A8,0,0,4,1) 

这指定范围A8:A11 。 在COUNTIF中

 =COUNTIF(OFFSET(A8,0,0,4,1),A8,...) 

如果需要,使用$locking单元格在OFFSET中以相同的方式工作。

尝试这个:

 =COUNTIFS(INDIRECT("$A$8:$A$" & 8+6),$A8,INDIRECT("$B$8:$B$" & 8+6),$B8)