Формула на Excel: Брой уникални дати -

Съдържание

Обща формула

=COUNT(UNIQUE(date))

Обобщение

За да преброите уникални дати ("търговски дни" в примера), можете да използвате функцията UNIQUE с функцията COUNT или формула, базирана на функцията COUNTIF. В показания пример формулата в клетка G8 е:

=COUNT(UNIQUE(date))

където датата е наименованият диапазон B5: B16.

Обяснение

Традиционно броенето на уникални елементи с формула на Excel е труден проблем, тъй като не е имало специална уникална функция. Това обаче се промени, когато към Excel 365 бяха добавени динамични масиви, заедно с няколко нови функции, включително UNIQUE.

Забележка: В по-старите версии на Excel можете да преброявате уникални елементи с функцията COUNTIF или функцията FREQUENCY, както е обяснено по-долу.

В показания пример всеки ред в таблицата представлява търговия с акции. Една няколко дати, извършва се повече от една сделка. Целта е да се броят търговските дни - броят на уникалните дати, на които е възникнала някаква търговия. Формулата в клетка G8 е:

=COUNT(UNIQUE(date))

Работейки отвътре навън, функцията UNIQUE се използва за извличане на списък с уникални дати от посочения диапазон "дата":

UNIQUE(date) // extract unique values

Резултатът е масив с 5 числа като този:

(44105;44109;44111;44113;44116)

Всяко число представлява дата в Excel, без форматиране на датата. 5-те дати са 1 октомври 20, 5 октомври 20, 7 октомври 20, 9 октомври 20 и 12 октомври 20.

Този масив се доставя директно на функцията COUNT:

=COUNT((44105;44109;44111;44113;44116)) // returns 5

което връща броя на числовите стойности, 5, като краен резултат.

Забележка: Функцията COUNT отчита числови стойности, докато функцията COUNTA ще отчита както цифрови, така и текстови стойности. В зависимост от ситуацията може да има смисъл да се използва едното или другото. В този случай, тъй като датите са числови, използваме COUNT.

С COUNTIF

В по-стара версия на Excel можете да използвате функцията COUNTIF, за да преброите уникални дати с формула като тази:

=SUMPRODUCT(1/COUNTIF(date,date))

Работейки отвътре навън, COUNTIF връща масив с брой за всяка дата в списъка:

COUNTIF(date,date) // returns (2;2;3;3;3;2;2;2;2;3;3;3)

Към този момент имаме:

=SUMPRODUCT(1/(2;2;3;3;3;2;2;2;2;3;3;3))

След като 1 е разделено на този масив, имаме масив от дробни стойности:

(0.5;0.5;0.333333333333333;0.333333333333333;0.333333333333333;0.5;0.5;0.5;0.5;0.333333333333333;0.333333333333333;0.333333333333333)

Този масив се доставя директно на функцията SUMPRODUCT. След това SUMPRODUCT сумира елементите в масива и връща общото, 5.

С ЧЕСТОТА

Ако работите с голям набор от данни, може да имате проблеми с производителността с формулата COUNTIF по-горе. В този случай можете да превключите към формула на масив, базирана на функцията FREQUENCY:

(=SUM(--(FREQUENCY(date,date)>0)))

Забележка: Това е формула на масив и трябва да се въвежда с control + shift + enter, освен в Excel 365.

Тази формула ще изчислява по-бързо от версията на COUNTIF по-горе, но ще работи само с числови стойности. За повече подробности вижте тази статия.

Интересни статии...