Подсчет последовательных экземпляров данных столбца в Excel по формуле - PullRequest
1 голос
/ 02 июня 2019

У меня есть лист Excel, в котором фиксируется количество заказов, которые Клиент делал каждый месяц. Теперь мне требуется столбец, в котором указывается количество раз, когда клиент делал заказы в течение 2 месяцев подряд. Excel выглядит примерно так:

enter image description here

Здесь в заказах Excel, размещенных в последовательные месяцы, суммируются. Скажем, если у меня есть заказы в течение 4 последовательных месяцев, в столбце подсчета сумма равна 2, а в столбце подсчета появляется 3, если есть заказы в течение 6 месяцев подряд.

Для клиента C1 в качестве примера, первый набор месяцев с последовательными заказами под ним - это апрель и май, которые обозначены как 1. Как мы уже зафиксировали, май в нашем расчете переходит с июня на следующий набор последовательных месяцев с заказами, которые встречаются август и сентябрь, которые обозначены как 1. Начиная с октября, больше нет месяцев с последовательными заказами. Таким образом, сумма равна 2 для C1, который отображается в столбец M.

В настоящее время я заполнил данные столбца "M" для справки, но поскольку данные о клиентах становятся огромными, это довольно утомительно. Я пытаюсь использовать ЧАСТОТУ , чтобы сделать это, но почему-то не могу придумать правильную формулу превосходства для этого сценария. Может ли кто-нибудь помочь мне в этом?

ТИА

Ответы [ 2 ]

3 голосов
/ 02 июня 2019

Я думаю, что вам нужно разделить частоты (длины серий последовательных порядков) на 2, используя целочисленное деление, поэтому

1->0
2->1
3->1
4->2

и т. Д.

=SUM(QUOTIENT(FREQUENCY(IF($B2:$L2>0,COLUMN($B2:$L2)),IF($B2:$L2=0,COLUMN($B2:$L2))),2))

enter image description here

Снова необходимо ввести формулу, используя Ctrl Shift Введите

2 голосов
/ 02 июня 2019

Вы делаете это довольно тяжело для себя, и я действительно не знаю, как это было бы легче, чем подсчитать, как часто встречается полоса 2, и добавить, как часто полоса 4 встречается и т. Д.

Формула для подсчета минимум двух полос будет выглядеть так:

=SUM(IF(FREQUENCY(IF($B2:$L2>0,COLUMN($B2:$L2)),IF($B2:$L2=0,COLUMN($B2:$L2)))>1,1))

Введено через Ctrl Shift Ввести

Чтобы учесть возможности стейка из 4, 6, 8, 10 или 12, вы можете сравнить приведенную выше формулу с транспонированным массивом (выполненным через разделение значений точкой с запятой), например:

=SUM(IF(FREQUENCY(IF($B2:$L2>0,COLUMN($B2:$L2)),IF($B2:$L2=0,COLUMN($B2:$L2)))>{1;3;5;7;9;11},1))

Введено через Ctrl Shift Ввести

enter image description here

Может быть, какой-нибудь вдохновитель сможет сократить это еще дальше :)

...