自动更改countif范围

时间:2017-09-02 20:23:41

标签: excel

我使用此公式计算过去30天内的红色字数,但在底部添加新行时范围不会改变。

如何更改公式,以便在底部添加新行时自动调整范围?要检查的行数始终为30。

=COUNTIF(D2433:D2463, "Red")

4 个答案:

答案 0 :(得分:1)

另一种技术是使用动态命名范围

  1. Formula > Name Manager > New:首先提供名称,然后将以下公式插入Referes to字段。另见图片。
  2. =INDEX(Sheet1!A:A,1):INDEX(Sheet1!A:A,INDEX(MAX((Sheet1!$A:$A<>"")*(ROW(Sheet1!A:A))),0))

    这应该为您提供类似$A$1:$A$300的范围取决于最后一个非空单元格的位置。

    1. 现在在您要评估的单元格中,添加以下公式:
    2. =COUNTIF(rng,"red")

      请注意rng是您应更改为您要使用的名称的命名范围。

      这将找到最后一个单元格,甚至可用于空白单元格。如果您有任何疑问,请尝试告诉我。

      enter image description here

答案 1 :(得分:0)

您需要相对单元格引用。您可以使用

执行此操作
=OFFSET()

功能

答案 2 :(得分:0)

使用以下内容:

=COUNTIF(OFFSET($D$2433,0,0,30,1),"Red") 

如果您需要在上述公式30至31中进行31次更改,您使用的参考价格为$ D $ 2433至$ D $ 2463 偏移量将以$ 2433起价,并在同一列中计算行数 Countif将计算如果红色

<强>更新
如果在D列中仅插入要计数的数据,则可以使用:

=COUNTIF(OFFSET(INDIRECT("$D$"&MAX(IF($D:$D<>"",ROW($D:$D),0))),0,0,-30,1),"Red")

这是一个数组公式按 Ctrl + Shift + 输入而不是 Enter
新公式将在D列中找到最后一个非空行,而间接将自动更正公式

答案 3 :(得分:0)

=COUNTIF(INDEX(D:D,AGGREGATE(14,6,ROW(D:D)/--((D:D)<>""),1)-30):INDEX(D:D,AGGREGATE(14,6,ROW(D:D)/--((D:D)<>""),1)),"Red")

条件:

最后一行下面的所有行都必须为空 最后30行中不能有任何空白行,否则您的计数可能会被关闭。

这是一个类似函数的数组。如果使用全范围引用,则每次聚合函数引用完整列范围时,它将检查1048576个单元格。因此,如果你经常使用这个公式,你可以让你的计算机陷入困境,如果你只使用它几次,你可能会没事。