Как подсчитать данные по группам в Excel?
В Excel подсчет общего количества значений в простом диапазоне является распространенной и простой задачей для большинства пользователей. Однако во многих реальных сценариях — таких как отчеты о продажах, списки инвентаря или данные о сотрудниках — информация часто организована в группы, например, категории товаров, отделы или регионы. В этих случаях вам может понадобиться не только подсчитать общий итог, но и определить количество появлений внутри каждой группы. Это требование особенно актуально для суммирования и анализа сгруппированных данных для отчетов или принятия решений на основе данных. Хотя в Excel нет одной прямой кнопки или встроенной функции, явно помеченной как «Подсчет по группам», доступно несколько надежных и эффективных методов для достижения этой цели.
Ниже представлены практические методы, которые вы можете использовать для подсчета данных в каждой группе в Excel, учитывая различные потребности пользователей и уровни подготовки — от встроенных функций до универсальных формул и автоматизированных решений на основе VBA. Каждый метод имеет свои преимущества, что позволяет легко выбрать подходящий способ для вашего конкретного случая работы с таблицей.
Подсчет данных по группам с помощью сводной таблицы
Подсчет данных по группам с помощью кода VBA
Подсчет данных по группам с помощью формул Excel (COUNTIF/COUNTIFS)
Подсчет данных по группам с помощью сводной таблицы
Сводные таблицы идеально подходят для быстрого суммирования больших наборов данных по различным категориям, включая подсчет элементов в каждой группе. Например, если у вас есть длинный список транзакций продаж и вы хотите знать, сколько раз был продан каждый продукт, сводная таблица является одним из самых быстрых и практичных инструментов.
Предположим, у вас есть набор данных, как в примере ниже, и вы хотите подсчитать количество появлений по группам (например, сколько раз встречается каждый элемент или категория):
1. Выберите весь диапазон данных, который включает группы и данные, которые вы хотите подсчитать. Нажмите Вставка > Сводная таблица > Сводная таблица на панели инструментов Excel. См. скриншот:
2. В диалоговом окне Создание сводной таблицы выберите, где разместить сводную таблицу — в новом листе или существующем. Если вы выбрали Существующий лист, обязательно выберите пустую ячейку, чтобы не повлиять на ваши текущие данные. См. скриншот:
3. Нажмите OK. На правой стороне окна Excel появится панель Поля сводной таблицы. Перетащите заголовок столбца группы (например, «Товар» или «Категория») в разделы Метки строк и Значения. По умолчанию значения будут подсчитаны функцией «количество», показывая, сколько раз каждая запись встречается. См. скриншот:
Вы сразу увидите отчет, где Excel сгруппировал ваши данные и показал количество для каждой группы. Это особенно полезно для визуализации распределения товаров, продуктов или записей по категориям. Если вы обновите исходный набор данных, не забудьте обновить сводную таблицу, чтобы отразить изменения.
Советы и примечания: Если ваш исходный диапазон данных содержит пустые строки или столбцы, обязательно исключите их при создании сводной таблицы, так как это может повлиять на точность группировки. Сводные таблицы предоставляют интуитивно понятный способ суммирования данных, но если вам нужно повторно использовать результаты в формулах или на других листах, или требуется более гибкая отчетность, рассмотрите решения на основе формул или VBA ниже.
Подсчет данных по группам с помощью кода VBA
Если ваша книга требует частого подсчета и составления отчетов по данным, сгруппированным по-разному, или вам нужно автоматизировать этот процесс для больших наборов данных или повторяющихся задач, вы можете использовать сценарий VBA. VBA (Visual Basic for Applications) позволяет настраивать и автоматизировать процессы в Excel, что дает возможность создавать отчеты, суммировать информацию или экспортировать подсчеты групп с минимальным ручным вмешательством.
Предупреждение: Всегда сохраняйте свою работу перед запуском нового кода VBA. VBA обеспечивает мощную автоматизацию, но может перезаписать данные, если не настроен осторожно.
1. Перейдите на вкладку Разработчик > Visual Basic, чтобы открыть редактор VBA. В открывшемся окне нажмите Вставить > Модуль и вставьте следующий код в окно модуля:
Sub GroupCount()
Dim dict As Object
Dim lastRow As Long
Dim groupCol As Range
Dim groupCell As Range
Dim outputRow As Long
Dim key As Variant
Set dict = CreateObject("Scripting.Dictionary")
On Error Resume Next
xTitleId = "KutoolsforExcel"
' Change Sheet1 and column as needed
With Worksheets("Sheet1")
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Set groupCol = .Range("A2:A" & lastRow)
For Each groupCell In groupCol
If Not dict.Exists(groupCell.Value) Then
dict(groupCell.Value) = 1
Else
dict(groupCell.Value) = dict(groupCell.Value) + 1
End If
Next groupCell
outputRow = 2
.Cells(1, "C").Value = "Group"
.Cells(1, "D").Value = "Count"
For Each key In dict.Keys
.Cells(outputRow, "C").Value = key
.Cells(outputRow, "D").Value = dict(key)
outputRow = outputRow + 1
Next key
End With
End Sub
2. Для выполнения кода нажмите F5 или нажмите кнопку «Выполнить» в редакторе VBA. Скрипт просканирует данные группы в столбце A (начиная с A2) на «Листе1», подсчитает количество для каждой группы и выведет сводный результат в столбцы C и D, начиная со строки 2.
Примечания: Вы можете изменить «Лист1», ссылки на столбцы и места вывода в соответствии с вашей рабочей книгой. Если ваши данные содержат пустые ячейки или специальные случаи, проверьте результаты на точность. Если дубликаты групп имеют разное написание (например, «Яблоко» vs. «яблоко»), результаты будут рассматривать их как отдельные группы. Для настройки группировки (без учета регистра, сортировка выходных данных или более сложные группировки) могут потребоваться дополнительные изменения в коде VBA.
VBA лучше всего подходит для автоматизированных и повторяемых задач — особенно при работе с большими или часто обновляемыми наборами данных, где ручное суммирование занимает много времени. Если возникнут ошибки вроде «Переменная объекта не установлена» или «Индекс вне диапазона», убедитесь, что ваши ссылки на лист и диапазон соответствуют фактической структуре ваших данных.
Подсчет данных по группам с помощью формул Excel (COUNTIF/COUNTIFS)
Для пользователей, предпочитающих работать непосредственно с сеткой листа или нуждающихся в динамических, основанных на формулах решениях для дальнейших расчетов и ссылок, функции COUNTIF и COUNTIFS в Excel обеспечивают эффективное решение. Эти формулы особенно полезны, когда вы хотите, чтобы подсчеты групп обновлялись автоматически при изменении базовых данных, или если вам нужны результаты рядом с данными для справки или дальнейшего анализа.
Пример сценария: Предположим, ваши данные находятся в столбцах A (Название группы) и B (Значение), и вы хотите подсчитать, сколько раз встречается каждая группа.
1. В новом столбце рядом с вашими данными (например, ячейка C2) введите формулу ниже, чтобы подсчитать количество для каждой группы:
=COUNTIF($A$2:$A$100, A2)
2. После ввода формулы нажмите Enter. Чтобы применить эту формулу ко всем строкам, перетащите маркер заполнения вниз от ячейки C2, чтобы заполнить ячейки рядом с вашими данными, или дважды щелкните маркер заполнения для автозаполнения. Формула вернет количество появлений для группы в этой строке.
3. Если вы хотите получить уникальный список всех групп и их соответствующих подсчетов, сначала извлеките уникальные названия групп (например, используя функцию Удалить дубликаты или формулу UNIQUE, в зависимости от версии Excel), а затем примените формулу COUNTIF к уникальному списку.
Объяснение параметров: В приведенной выше формуле $A$2:$A$100
— это диапазон, содержащий названия ваших групп. Подстройте этот диапазон в соответствии с вашими реальными данными. A2
— это ссылка на ячейку для значения группы текущей строки.
Это решение на основе формулы очень гибкое: вы можете использовать его для фильтрованных списков, отсортированных данных или в сочетании с другими вычислениями. Однако будьте внимательны к производительности, если применяете его для очень больших наборов данных, так как пересчет может занять дополнительное время.
COUNTIFS позволяет подсчитывать по нескольким критериям, если ваша группировка более сложная (например, группировка по категории и региону).
Связанные статьи:
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек