动态计算COUNTIFS条件范围

时间:2016-05-19 09:16:43

标签: excel excel-formula excel-2010

我有一个excel公式如下,

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

这里我希望用简单的逻辑计算标准范围。

而不是$A$14我想要计算这个值A $ 8 + 4,即$ A $ 14

换句话说,它应该获取当前行并添加4作为COUNTIFS的条件范围

如何做到这一点在COUNTIFS公式中是否优秀?

干杯

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

让我们假设您要返回的范围大小存储在单元格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)

答案 2 :(得分:1)

扩大奥利弗的答案。 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,...)

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

答案 3 :(得分:0)

试试这个:

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