![](https://cdn.wiki-base.com/1899231/excel_formula_count_unique_dates__2.png.webp)
Загальна формула
=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 вище, але вона працюватиме лише з числовими значеннями. Докладніше див. У цій статті.