计算 excel 行中的连续连胜

calculate consecute streak in excel row

我正在尝试计算 2 个值。当前连胜和长期连胜。

每条记录在 1 行并包含一个名称和值

每一列的值都在 1 到 200 之间。 示例:

John Doe 14 16 25 18 40 65 101 85 14 19 18 9 3
Jane Doe 24 22 18 5 8 22 17 17 15 2 1 5 22
Jim Doe 40 72 66 29 25 28
Jan Doe 27 82 22 17 18 9 6 7 9 13

对于每一行,我试图找到 "current" 连胜和 "longest" 连胜。 值必须 <= 24 才能被计算在内。数据从左到右。

John: Current 2; Long 5
Jane: Current 13; Long 13
Jim: Current 0; Long 0
Jan: Current 0; Long 8

在同一行的自己的单元格中计算当前和长期的公式是什么(必须在数据之前)?

对于当前 运行,假设数据在 C2:Z2,试试这个数组公式:

=IFERROR(MATCH(TRUE,C2:Z2>24,0)-1,COUNT(C2:Z2))

使用CTRL+SHIFT+ENTER

确认

根据您评论中使用的单元格引用,要获得最长的连续记录,请尝试此版本

=MAX(FREQUENCY(IF(P7:BB7<=24,COLUMN(P7:BB7)),IF(P7:BB7>24,COLUMN(P7:B‌​B7))))

再次用CTRL+SHIFT+ENTER

确认

或者允许范围内的空白(这将结束连续)你可以使用这个版本

=MAX(FREQUENCY(IF(P7:BB7<>"",IF(P7:BB7<=24,COLUMN(P7:BB7))),IF((P7:BB7="")+(P7:BB7>24),COLUMN(P7:BB7))))