Подсчитать количество последовательностей в диапазоне

#excel-formula

#excel-формула

Вопрос:

Я хотел бы подсчитать количество последовательностей в наборе данных. Новая последовательность запускается всякий раз, когда значение изменяется с нуля на положительное или с положительного на ноль.

Данные представляют миллиметровый дождь по одной записи за каждый час дня. Если начинается дождь, начинается новая последовательность, если дождь прекращается, начинается и новая последовательность. В некоторые дни продолжает идти дождь (1 последовательность дождя, 0 последовательностей засухи). В другие дни будет сухо (0 последовательностей дождя, 1 последовательность засухи). В остальные дни будет X последовательностей дождя и Y последовательностей засухи (X и Y отличаются на 0 или 1).

Пример: Диапазон (N1: N25) содержит

 RH
0
0
0
0
0
0
1
3
9
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
  

Используя матричные формулы, я могу вычислить
Самая длинная последовательность ненулевых чисел, равная 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)))
  

но я не могу вычислить количество последовательностей, отличных от нуля, равное 2, или общее количество последовательностей, равное 5.

Как я могу это сделать?

Я искал ответ в Stackoverflow, но не смог его найти

Комментарии:

1. Привет, на вашем месте я бы просто определил в O2, если N1 = 0 и N2 > 0, чтобы вы добавили O1 1, и, возможно, добавили специальное условие, если N1> 1, чтобы в O1 было 1

Ответ №1:

Чтобы получить количество не 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))
  

затем вы можете сложить их вместе.

Комментарии:

1. Что делает — в формуле? Почему это там?

2. это изменяет числа, хранящиеся в виде текста или логических значений, на их числовые эквиваленты.