посчитайте, как часто появляется информация, и рассчитайте среднее - PullRequest
0 голосов
/ 06 января 2019

Я не хочу знать традиционную частоту или традиционные средние; поэтому приведу пример ниже:

У меня есть эти данные: 1 3 5 5 2 3 5 5 1 3

original data 1

Анализ, который я хотел бы получить, следующий:

например, число 1 появляется каждые восемь строк, число 3 - каждые четыре строки, число 5 - каждые две строки ....

analisis

Я сделал это вручную, но теперь у меня есть более 21000 строк данных, и я застрял.

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

Ответы [ 2 ]

0 голосов
/ 07 мая 2019

Я считаю, что смог достичь желаемого результата:

test1 test2
test3
Формула:

test4
Или, если вы хотите скопировать / вставить:

=IF(CONCATENATE("1-",MATCH(D1,INDIRECT(ADDRESS(MATCH(D1,A1:A17,0)+1,1,4)&":A17"),0))="1-1",CONCATENATE("2-",MATCH(D1,INDIRECT(ADDRESS(MATCH(D1,A1:A17,0)+2,1,4)&":A17"),0)-1),CONCATENATE("1-",MATCH(D1,INDIRECT(ADDRESS(MATCH(D1,A1:A17,0)+1,1,4)&":A17"),0)))  

Обратите внимание, что функция IF разрешает дубликаты (например, число 5). Если у вас есть трижды, вам нужно будет добавить еще один экземпляр IF и соответствующим образом изменить формулу.

Надеюсь, это поможет!

0 голосов
/ 07 января 2019

Ну, это не совсем воспроизводит ваши результаты, но вы могли бы начать с рассмотрения максимального и минимального разделения чисел:

=IF(COUNTIF(A$1:A$10,C2)<=1,"",MIN(IF((ROW(A$1:INDEX(A$1:A$10,COUNTIF(A$1:A$10,C2)+1))>1)
*(ROW(A$1:INDEX(A$1:A$10,COUNTIF(A$1:A$10,C2)+1))<=COUNTIF(A$1:A$10,C2)),
FREQUENCY(IF(A$1:A$10<>C2,ROW(A$1:A$10)),IF(A$1:A$10=C2,ROW(A$1:A$10)))))+1)

=IF(COUNTIF(A$1:A$10,C2)<=1,"",MAX(IF((ROW(A$1:INDEX(A$1:A$10,COUNTIF(A$1:A$10,C2)+1))>1)
*(ROW(A$1:INDEX(A$1:A$10,COUNTIF(A$1:A$10,C2)+1))<=COUNTIF(A$1:A$10,C2)),
FREQUENCY(IF(A$1:A$10<>C2,ROW(A$1:A$10)),IF(A$1:A$10=C2,ROW(A$1:A$10)))))+1)

enter image description here

Это дает минимальное или максимальное количество строк между каждым вхождением определенного числа.

Должен быть введен как формула массива, используя Ctrl Shift Enter

Вы можете добавить другие статистические данные (например, среднее значение, стандартное отклонение) таким же образом, хотя среднее значение можно рассчитать только с помощью (lastrow-firstrow) / (count-1), например. для 5 это будет (8-3) / (4-1) = 5 / 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...