Excel公式:在列表中计算重复因子(Vlookup / Indirect帮助)

对混淆标题道歉; 我会在这里更清楚详细地解释我的问题。

所以我有一个包含重复模式的布尔值列表,我正在计算它重复的因子。 在开始循环之前,该列表总是以未知数量的FALSE值开始,并且总是以TRUE结尾,然后是未知的但是大量的FALSE值。

一个例子列表:

  1. 真正
  2. 真正
  3. 真正

在这种情况下,我想要的重复因子是4,因为该模式每4行重复一次(不包括列表的开始和结束)。

我已经尝试了几个写公式的方法来提出4作为答案,包括使用计数,一些简单的查找和偏移尝试。 到目前为止,我一直无法得到一个工作公式。 我的猜测是,间接函数可能在这里使用,但我还没有能够围绕使用它的逻辑我的头。

就一般策略而言,我猜测如果我能find第一个和第二个TRUE值的行的索引,我可以简单地减去它们来find重复因子。 (我可以很容易地在我的电子表格中实现一个行号或单元格引用列,如果这样做也会有帮助的话)。

在此先感谢您的任何见解!

试试这个公式:

=AGGREGATE(15,6,ROW($A$1:$A$17)/($A$1:$A$17),2)-MATCH(TRUE,$A$1:$A$17,0) 

MATCHfind第一行,其中有一个TRUE。

AGGREGATE像SMALL(IF())函数一样工作。 当单元格为FALSE时,它将返回一个除错为0的错误,并且函数中的6忽略错误。 所以AGGREGATE要拉第二个最低行号的数组是在那些单元格为TRUE的行上。

在这里输入图像说明


编辑

这是一个非数组公式,也可以基于@GaryStudents松散地回答:

 =MATCH(TRUE,INDEX(A:A,MATCH(TRUE,A:A,0)+1):A1040000,0) 

在这里输入图像说明

获取两个连续出现的TRUE之间的“距离”:

C1中input:

 =MATCH("TRUE",A:A,0) 

C2中

 =MATCH("TRUE",INDIRECT("A" & C1+1 & ":A9999"),0)+C1 

最后在C3

 =C2-C1 

在这里输入图像描述