道歉令人困惑的标题;我会在这里更清楚,更详细地解释我的问题。
所以我有一个包含重复模式的布尔列表,我试图计算它重复的因素。该列表在开始循环之前始终以未知数量的FALSE值开始,并且始终以TRUE结尾,后跟未知但大量的FALSE值。
示例列表:
在这种情况下,我想要的重复因子是4,因为模式每4行重复一次(不包括列表的开头和结尾)。
我尝试了几种编写公式的方法来得出4作为答案,包括使用计数,一些简单的vlookup和一个偏移尝试。到目前为止,我一直无法获得有效的配方。我的猜测是间接功能可能在这里使用,但我还没有能够围绕使用它的逻辑。
就一般策略而言,我猜测如果我能找到第一个和第二个TRUE值的行的索引,我可以简单地减去它们以找到重复因子。 (我可以轻松地在我的电子表格中实现行号或单元格引用列,如果这样做也会有所帮助。)
提前感谢任何见解!
答案 0 :(得分:3)
试试这个公式:
=AGGREGATE(15,6,ROW($A$1:$A$17)/($A$1:$A$17),2)-MATCH(TRUE,$A$1:$A$17,0)
MATCH找到存在TRUE的第一行。
AGGREGATE的工作方式与SMALL(IF())函数类似。当单元格为FALSE时,它将返回除以0的错误,函数中的6将忽略错误。因此,AGGREGATE将拉出第二个最低行数的数组位于单元格为TRUE的那些行上。
修改
这是一个非数组公式,也基于@GaryStudents回答:
=MATCH(TRUE,INDEX(A:A,MATCH(TRUE,A:A,0)+1):A1040000,0)
答案 1 :(得分:2)