5 эффективных методов подсчета уникальных элементов в Google Таблицах

Google Таблицы – мощный инструмент для управления и анализа данных. Одна из распространенных задач — найти количество уникальных элементов в заданном диапазоне. В этой статье блога мы рассмотрим несколько методов выполнения этой задачи с использованием разговорного языка и приведем примеры кода. Давайте погрузимся!

Метод 1: использование функций UNIQUE и COUNTA
Функция UNIQUE в Google Sheets возвращает список уникальных значений из диапазона. Объединив ее с функцией COUNTA, мы можем подсчитать количество уникальных элементов. Вот пример формулы:

=COUNTA(UNIQUE(A:A))

Метод 2. Использование сводных таблиц
Сводные таблицы — это удобная функция Google Таблиц, позволяющая обобщать данные. Чтобы подсчитать уникальные элементы с помощью сводной таблицы, выполните следующие действия:

  1. Выберите диапазон, содержащий данные.
  2. Перейдите в меню «Данные» и выберите «Сводная таблица».
  3. В редакторе сводных таблиц перетащите столбец с элементами, которые вы хотите подсчитать, в раздел «Строки».
  4. Перетащите тот же столбец в раздел «Значения» и выберите «COUNTA» в качестве метода агрегирования.

Метод 3. Применение формулы частоты
Формула ЧАСТОТА в Google Таблицах вычисляет частотное распределение значений в диапазоне. Подсчитав ненулевые частоты, мы можем определить количество уникальных элементов. Вот пример формулы:

=COUNTA(FREQUENCY(A:A, A:A))

Метод 4. Использование функции QUERY
Функция QUERY в Google Sheets позволяет выполнять SQL-подобные запросы к вашим данным. Чтобы подсчитать уникальные элементы с помощью QUERY, выполните следующие действия:

  1. Выберите пустую ячейку.
  2. Введите следующую формулу, заменив A:Aдиапазоном, содержащим ваши данные:
=COUNTA(QUERY(A:A, "SELECT DISTINCT A"))

Метод 5: использование скрипта Google Apps
Для более сложных сценариев вы можете использовать скрипт Google Apps Script, язык сценариев на основе JavaScript, для подсчета уникальных элементов. Вот пример фрагмента кода:

function countUniqueItems() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getRange("A:A").getValues();
  var uniqueItems = [...new Set(data.flat())];
  var count = uniqueItems.length;
  return count;
}