更改COUNTIF范围内自动

问题描述:

我用这个公式来计算的话冲在过去的30天,但在一个新行添加在底部的范围没有发生变化。更改COUNTIF范围内自动

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

=COUNTIF(D2433:D2463, "Red") 
+0

1)数据中是否有空白行?即标题行,然后是一个空白的间隔行,那么你的数据? 2)最后一个条目下面的所有单元格一直到行1048576为空? 3)你的数据是从第2433行开始还是仅仅是一个例子? –

使用以下命令:

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

的参考文献使用了$ d $ 2433至$ d $ 2463计数31,如果你需要在上述公式中30至31
偏移31的变化将在$ d开始$ 2433而在同一列倒数行
COUNTIF将计算,如果红

更新
如果在列d只插入数据进行计数,你可以使用:

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

这是一个数组公式按按Ctrl + + 输入,而不是仅仅输入
新配方会发现在列d中最后一个非空行,然后间接会纠正公式自动

+0

@ ian0411 - 您的公式计算COL D中所有红色实例,我只需计算最后30个COL中的红色实例。而且我还需要公式在底部添加新行后尽快更改范围。例如,添加行D2464时,公式将更改为在30行范围内包含行D2464。谢谢。 –

+0

@ yass-这不会按需要工作。当一个新行添加到底部时,我需要将公式更改为2434,以便只计算最后30行。谢谢。 –

+0

我已经测试了所有的公式,发现只有yass的工作,仍然有一点修改。我已将30天定义为负数(-30),并将范围更改为$ 2463美元。 –

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

=OFFSET() 

功能。

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

  1. Formula > Name Manager > New:第一提供一个名称,然后插入下列公式Referes to字段。也看到图片。

=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

开始=“2”>
+0

@Forward Ed - 这不起作用。 –

+0

我不确定你的范围在哪里(一列,一行或一个区域),但你总是可以改变Sheet1!A:A在公式中只包含你想要覆盖的区域。但它只适用于一列或让我知道,我可以为你更新公式。此外,如果有人必须向下滚动到第2433行才能找到答案,您可能需要重新考虑设计。 – ian0411

+0

@CamberraCacaitA,好吧,我很困惑。你的意思是我的方法行不通或者Forward Ed提供的方法吗?我测试了代码,它按预期工作。它也处理列中的空白单元格。但是,如果我缺少您想实施的任何标准,请告诉我。 – ian0411

=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个单元格。因此,如果你使用公式很多,你可能会陷入困境,如果你只使用它几次,你可能会确定。