Excel formula 计算一个范围内的序列数

Excel formula 计算一个范围内的序列数,excel-formula,Excel Formula,我想计算数据集中的序列数。 每当值从零变为正或从正变为零时,就会启动一个新序列 数据表示一天中每小时一个条目。 如果开始下雨,一个新的序列开始,如果停止下雨,一个新的序列也开始。 有些日子一直下雨(1次连续下雨,0次连续干燥)。 在其他日子,天气将是干燥的(0次降雨,1次干燥)。 其他几天将有X个雨序列和Y个干序列(X和Y相差0或1) 例如: 范围(N1:N25)包含 我可以用矩阵公式计算 非零的最长序列,为4,由 =MAX(FREQUENCY(IF($N$2:$N$25>0,ROW($N

我想计算数据集中的序列数。 每当值从零变为正或从正变为零时,就会启动一个新序列

数据表示一天中每小时一个条目。 如果开始下雨,一个新的序列开始,如果停止下雨,一个新的序列也开始。 有些日子一直下雨(1次连续下雨,0次连续干燥)。 在其他日子,天气将是干燥的(0次降雨,1次干燥)。 其他几天将有X个雨序列和Y个干序列(X和Y相差0或1)

例如: 范围(N1:N25)包含

我可以用矩阵公式计算 非零的最长序列,为4,由

=MAX(FREQUENCY(IF($N$2:$N$25>0,ROW($N$2:$N$25)),IF($N$2:$N$25<=0,ROW($N$2:$N$25)))

=MAX(频率(如果($N$2:$N$25>0,行($N$2:$N$25)),如果($N$2:$N$25)获取非
0
分组的计数:

=SUMPRODUCT(--(FREQUENCY(IF($N$2:$N$25<>0,ROW($N$2:$N$25)),IF($N$2:$N$25=0,ROW($N$2:$N$25)))>0))
=SUMPRODUCT(--(FREQUENCY(IF($N$2:$N$25=0,ROW($N$2:$N$25)),IF($N$2:$N$25<>0,ROW($N$2:$N$25)))>0))

然后您可以将它们相加。

要获得非
0
组的计数:

=SUMPRODUCT(--(FREQUENCY(IF($N$2:$N$25<>0,ROW($N$2:$N$25)),IF($N$2:$N$25=0,ROW($N$2:$N$25)))>0))
=SUMPRODUCT(--(FREQUENCY(IF($N$2:$N$25=0,ROW($N$2:$N$25)),IF($N$2:$N$25<>0,ROW($N$2:$N$25)))>0))

然后你可以把它们加在一起。

Hi,如果我是你,我会简单地在O2中检测N1=0和N2>0,那么你加上O1+1,如果N1>1,可能会加上一个特殊条件,所以它是O1Hi中的1。如果我是你,我会简单地在O2中检测N1=0和N2>0,那么你加上O1+1,如果N1>1,可能会加上一个特殊条件,所以它是O1Hi中的1。如果我是你,我是你,我会简单地在O2中检测N1=0和N2>0,那么你加上O1+1--在公式中的do?为什么在那里?它将存储为文本或布尔值的数字更改为其数字等价物。公式中的--in做什么?为什么在那里?它将存储为文本或布尔值的数字更改为其数字等价物。