Обща формула
(=MAX(FREQUENCY(IF(rng>0,COLUMN(rng)),IF(rng=0,COLUMN(rng)))))
Обобщение
За да преброите последователни месечни поръчки, можете да използвате формула за масив, базирана на функцията FREQUENCY, с помощта на COLUMN и MAX.
В показания пример формулата в I5 е:
(=MAX(FREQUENCY(IF(C5:H5>0,COLUMN(C5:H5)),IF(C5:H5=0,COLUMN(C5:H5)))))
Забележка: това е формула на масив и трябва да се въведе с Control + Shift + Enter.
Обяснение
Това е трудна формула за разбиране, така че закопчайте се!
Те имат ключово значение за формулата да знаят, че FREQUENCY събира числата в „кошчета“ по специфичен начин. Всеки бин представлява горна граница и генерира брой на всички числа в набора от данни, които са по-малки или равни на горната граница и по-големи от предишния номер на бин. Тогава трикът е да се създаде data_array с използване на условието, за което искате да тествате (в този случай броят на поръчките е по-голям от нула), а bins_array с помощта на обратното условие.
За да създадем контейнера за данни_масив, използваме следното:
IF(C5:H5>0,COLUMN(C5:H5))
Тестваме броя на поръчките всеки месец и, ако е положителен, връщаме номера на колоната, където броят на поръчките е 0. 0. Полученият масив изглежда така:
(3, FALSE, FALSE, 6,7,8)
Забележете, че само колони, където броят на поръчките> 0 влизат в този масив.
Масивът bins се генерира с това:
IF(C5:H5=0,COLUMN(C5:H5))
Това поставя номера на колони за броя на поръчките = 0 в масив, който завършва по следния начин:
(FALSE, 4,5, FALSE, FALSE, FALSE)
Само колони, където броят на поръчките = 0, влизат в този масив, където при стандартно поведение FREQUENCY те се превръщат във функционалните контейнери, които отчитат ненулеви поръчки. Победите се превеждат на FALSE и не събират никакви числа от масива от данни, тъй като FALSE стойностите се игнорират.
С масива от данни и масивите на bin по-горе, честотата връща масив от броя на bin в масив като този:
(1; 0; 3)
Сега просто обвиваме функцията MAX около масива, върнат от FREQUENCY. След това MAX връща най-голямото число в масива като краен резултат.
Други последователни стойности
За да преброите последователни повторения на други стойности, просто коригирайте логиката, ако е необходимо, следвайки същия модел: първото условие тества за нещото, което искате да преброите, второто условие тества за обратното.