Формула 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 без форматування дати. П'ять дат - 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. У цьому випадку ви можете перейти до формули масиву на основі функції ЧАСТОТА:

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

Примітка: Це формула масиву, яку потрібно вводити за допомогою control + shift + enter, за винятком Excel 365.

Ця формула буде обчислюватися швидше, ніж версія COUNTIF вище, але вона працюватиме лише з числовими значеннями. Докладніше див. У цій статті.

Цікаві статті...