Google Таблицы – мощный инструмент для управления и анализа данных. Одна из распространенных задач — найти количество уникальных элементов в заданном диапазоне. В этой статье блога мы рассмотрим несколько методов выполнения этой задачи с использованием разговорного языка и приведем примеры кода. Давайте погрузимся!
Метод 1: использование функций UNIQUE и COUNTA
Функция UNIQUE в Google Sheets возвращает список уникальных значений из диапазона. Объединив ее с функцией COUNTA, мы можем подсчитать количество уникальных элементов. Вот пример формулы:
=COUNTA(UNIQUE(A:A))
Метод 2. Использование сводных таблиц
Сводные таблицы — это удобная функция Google Таблиц, позволяющая обобщать данные. Чтобы подсчитать уникальные элементы с помощью сводной таблицы, выполните следующие действия:
- Выберите диапазон, содержащий данные.
- Перейдите в меню «Данные» и выберите «Сводная таблица».
- В редакторе сводных таблиц перетащите столбец с элементами, которые вы хотите подсчитать, в раздел «Строки».
- Перетащите тот же столбец в раздел «Значения» и выберите «COUNTA» в качестве метода агрегирования.
Метод 3. Применение формулы частоты
Формула ЧАСТОТА в Google Таблицах вычисляет частотное распределение значений в диапазоне. Подсчитав ненулевые частоты, мы можем определить количество уникальных элементов. Вот пример формулы:
=COUNTA(FREQUENCY(A:A, A:A))
Метод 4. Использование функции QUERY
Функция QUERY в Google Sheets позволяет выполнять SQL-подобные запросы к вашим данным. Чтобы подсчитать уникальные элементы с помощью QUERY, выполните следующие действия:
- Выберите пустую ячейку.
- Введите следующую формулу, заменив
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;
}