Как собрать одинаковые данные в Excel: от фильтров до Power Query

Работа с дублирующимися данными в Microsoft Excel — одна из самых распространённых задач, с которыми сталкиваются аналитики, бухгалтеры и менеджеры. Чаще всего проблема возникает при импорте данных из разных источников: CRM-систем, баз данных или даже ручных вводов от нескольких сотрудников. Одинаковые записи разбросаны по таблице, а вам нужно их объединить, чтобы получить актуальную сводку — без повторений и ошибок.

В этой статье мы разберём 5 проверенных способов собрать одинаковые данные в Excel — от элементарных (под силу даже школьнику) до продвинутых (для работы с большими массивами). Вы узнаете, как:

  • 🔍 Найти и удалить дубликаты вручную или автоматически
  • 📊 Объединить ячейки с одинаковыми значениями в одну строку
  • 🔄 Использовать ВПР, ИНДЕКС+ПОИСКПОЗ и другие формулы для сбора данных
  • ⚡ Применить Power Query для сложных трансформаций
  • 📈 Автоматизировать процесс с помощью макросов

Важно: методы подобраны так, чтобы покрыть все версии Excel (2010–2023 и Microsoft 365). Если вы работаете с Google Таблицами, большинство приёмов тоже применимы — мы укажем на нюансы.

📊 Как часто вам приходится объединять дублирующиеся данные в Excel?
Ежедневно
Раз в неделю
Редико
Никогда

1. Базовый метод: удаление дубликатов через меню Excel

Самый простой способ избавиться от повторяющихся строк — использовать встроенную функцию Удалить дубликаты. Она доступна во всех версиях Excel и не требует знания формул.

Как это работает:

  1. Выделите диапазон данных (включая заголовки столбцов).
  2. Перейдите на вкладку ДанныеУдалить дубликаты.
  3. В открывшемся окне отметьте столбцы, по которым нужно искать совпадения (например, Наименование товара и Артикул).
  4. Нажмите ОК — Excel автоматически оставит только уникальные записи.

Ограничения метода:

  • ❌ Удаляет всю строку, а не только дублирующиеся ячейки.
  • ❌ Не позволяет объединить данные из дублирующихся строк (например, сложить количества).
  • ❌ Работает только с видимыми ячейками — если данные отфильтрованы, дубликаты в скрытых строках останутся.

2. Объединение одинаковых данных с помощью формул

Если вам нужно не просто удалить дубликаты, а собрать данные из повторяющихся строк (например, суммировать количества или объединить комментарии), пригодятся формулы. Рассмотрим два подхода:

2.1. Формула ВПР для сбора данных в одну таблицу

Предположим, у вас есть таблица с продажами, где один и тот же товар встречается несколько раз. Вам нужно собрать все количества по каждому товару в отдельную сводную таблицу.

Используйте комбинацию ВПР + СУММЕСЛИ:

=СУММЕСЛИ($A$2:$A$100;D2;$B$2:$B$100)

Где:

  • $A$2:$A$100 — столбец с названиями товаров (искомый диапазон).
  • D2 — ячейка с уникальным названием товара в сводной таблице.
  • $B$2:$B$100 — столбец с количествами (диапазон суммирования).

Критичный нюанс: перед использованием ВПР убедитесь, что в сводной таблице перечислены ВСЕ уникальные значения из исходного диапазона. Иначе формула вернёт ошибку #Н/Д.

2.2. Формулы массива для сложных объединений

Если нужно объединить не числа, а текстовые данные (например, комментарии к заказам), используйте формулу массива:

=ТЕКСТСОЕДИНИТЬ("; ";ИСТИНА;ЕСЛИ($A$2:$A$100=D2;$B$2:$B$100;""))

Эта формула:

  • 🔹 Ищет все строки, где значение в столбце A равно D2 (уникальному идентификатору).
  • 🔹 Объединяет соответствующие значения из столбца B через точку с запятой.
  • 🔹 Работает только в Excel 2019 и новее (или в Microsoft 365). Для старых версий используйте ПОИСКПОЗ + ИНДЕКС.
Альтернатива для Excel 2010–2016

Формула будет сложнее:

=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$100;НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$100=D2;СТРОКА($A$2:$A$100)-1);СТРОКА(A1)));"")

Введите её как формулу массива (нажмите Ctrl+Shift+Enter вместо обычного Enter).

3. Сводные таблицы: быстрый сбор данных без формул

Сводные таблицы — это самый визуальный и гибкий инструмент для объединения одинаковых данных. Они позволяют:

  • 📌 Группировать строки по ключевому столбцу (например, по Наименованию товара).
  • 📌 Суммировать, считать или усреднять значения в других столбцах.
  • 📌 Фильтровать и сортировать результаты.

Как создать сводную таблицу:

  1. Выделите исходный диапазон данных (включая заголовки).
  2. Перейдите на вкладку ВставкаСводная таблица.
  3. В открывшемся окне укажите, куда поместить таблицу (на новый лист или в текущий).
  4. В панели Поля сводной таблицы перетащите:
    • 🔹 Ключевой столбец (например, Товар) в область Строки.
    • 🔹 Столбец с данными для объединения (например, Количество) в область Значения.

По умолчанию Excel предложит посчитать Количество (подсчёт строк). Чтобы суммировать значения, кликните по полю в области ЗначенияПараметры полей значений → выберите Сумма.

4. Power Query: профессиональный инструмент для больших данных

Power Query (или Get & Transform в Excel 2016+) — это мощный инструмент ETL (извлечение, преобразование, загрузка), который позволяет объединять данные из разных источников, очищать их и трансформировать. Для работы с дубликатами он подходит идеально.

Пошаговая инструкция:

  1. Выделите исходную таблицу и перейдите на вкладку ДанныеИз таблицы/диапазона (в Excel 2016+) или Power QueryИз таблицы (в Excel 2010–2013 с надстройкой).
  2. В открывшемся редакторе Power Query выберите столбец, по которому нужно искать дубликаты (например, Артикул).
  3. На вкладке Главная нажмите Группировка по.
  4. В окне группировки укажите:
    • 🔹 Новое имя столбца: например, Общее количество.
    • 🔹 Операция: Сумма (или другая нужная операция).
    • 🔹 Столбец: выберите столбец с данными для объединения (например, Количество).
  • Нажмите Закрыть и загрузить — результат появится на новом листе.
  • Преимущества Power Query:

    • ✅ Работает с миллионами строк (в отличие от формул).
    • ✅ Позволяет объединять данные из нескольких файлов или баз.
    • ✅ Сохраняет шаги трансформации — можно повторно применить их к новым данным.

    Убедиться, что в таблице нет пустых строк в заголовках|

    Проверить формат данных (даты должны быть датами, а не текстом)|

    Удалить ненужные столбцы заранее|

    Сохранить резервную копию исходных данных

    -->

    5. Макросы: автоматизация для повторяющихся задач

    Если вам регулярно приходится объединять одинаковые данные по одному и тому же алгоритму, имеет смысл записать макрос. Это сэкономит часы ручной работы.

    Пример макроса для объединения дублирующихся строк и суммирования значений:

    Sub ОбъединитьДубликаты()
    

    Dim ws As Worksheet

    Dim rng As Range, cell As Range

    Dim dict As Object

    Set dict = CreateObject("Scripting.Dictionary")

    ' Указываем лист и диапазон

    Set ws = ThisWorkbook.Sheets("Лист1")

    Set rng = ws.Range("A2:B" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)

    ' Заполняем словарь уникальными ключами и суммируем значения

    For Each cell In rng.Columns(1).Cells

    If Not dict.exists(cell.Value) Then

    dict.Add cell.Value, cell.Offset(0, 1).Value

    Else

    dict(cell.Value) = dict(cell.Value) + cell.Offset(0, 1).Value

    End If

    Next cell

    ' Выводим результат на новый лист

    Sheets.Add.Name = "Результат"

    Range("A1").Value = "Товар"

    Range("B1").Value = "Общее количество"

    Range("A2").Resize(dict.Count, 1).Value = Application.Transpose(dict.keys)

    Range("B2").Resize(dict.Count, 1).Value = Application.Transpose(dict.items)

    End Sub

    Как использовать этот макрос:

    1. Нажмите Alt + F11, чтобы открыть редактор VBA.
    2. Вставьте код в новый модуль (ВставкаМодуль).
    3. Запустите макрос нажатием F5 или через ВидМакросы.

    Внимание: перед запуском макроса убедитесь, что:

    • 🔹 В настройках Excel разрешено выполнение макросов (ФайлПараметрыЦентр управления безопасностьюПараметры центра управления безопасностьюВключить все макросы).
    • 🔹 Данные находятся на листе с именем Лист1 (или измените имя в коде).

    6. Особенности работы с дубликатами в Google Таблицах

    Большинство методов из этой статьи применимы и в Google Таблицах, но есть нюансы:

    Метод Excel Google Таблицы Примечания
    Удаление дубликатов Данные → Удалить дубликаты Данные → Очистить данные → Удалить дубликаты В Google Таблицах можно выбрать, учитывать ли заголовки.
    Формула ТЕКСТСОЕДИНИТЬ ✅ Доступна с 2019 года ✅ Доступна как TEXTJOIN Синтаксис идентичен.
    Power Query ✅ Встроен в Excel 2016+ ❌ Нет аналога Используйте QUERY или скрипты Google Apps Script.
    Сводные таблицы ✅ Полная поддержка ✅ Полная поддержка Интерфейс почти идентичен.

    Для объединения данных в Google Таблицах часто используют функцию QUERY:

    =QUERY(A1:B100; "SELECT A, SUM(B) GROUP BY A LABEL SUM(B) 'Общее количество'"; 1)

    Эта формула:

    • 🔹 Группирует данные по столбцу A.
    • 🔹 Суммирует значения в столбце B.
    • 🔹 Добавляет заголовок Общее количество для результирующего столбца.

    Частые ошибки и как их избежать

    При работе с дублирующимися данными даже опытные пользователи допускают ошибки. Вот самые распространённые:

    ⚠️ Внимание: Если вы используете ВПР для объединения данных, убедитесь, что в сводной таблице перечислены все уникальные значения из исходного диапазона. Иначе формула вернёт ошибку #Н/Д для отсутствующих ключей. Решение: используйте ЕСЛИОШИБКА или ПОИСКПОЗ + ИНДЕКС.

    Топ-5 ошибок:

    • 🚫 Неучтённые пробелы или регистр. Excel воспринимает "Товар1" и " товар1 " как разные значения. Используйте СЖПРОБЕЛЫ и ПРОПИСН для нормализации.
    • 🚫 Объединение данных без резервной копии. Всегда сохраняйте оригинальную таблицу на отдельном листе.
    • 🚫 Игнорирование скрытых символов. Иногда в ячейках остаются непечатаемые символы (например, после импорта из PDF). Используйте ЧИСТ для очистки.
    • 🚫 Неправильный диапазон в формулах. Если диапазон не зафиксирован знаками $, при копировании формулы он сдвинется.
    • 🚫 Перегрузка сводных таблиц. Если данных слишком много, сводная таблица может тормозить. В таких случаях используйте Power Query.
    ⚠️ Внимание: При использовании Power Query для объединения данных из нескольких файлов убедитесь, что все файлы имеют одинаковую структуру (названия столбцов, формат данных). Иначе при загрузке возникнут ошибки совмещения.

    FAQ: Ответы на частые вопросы

    Можно ли объединить дубликаты без потери данных?

    Да, для этого используйте:

    • 🔹 Сводные таблицы — они позволяют суммировать или считать значения.
    • 🔹 Формулы (СУММЕСЛИ, ТЕКСТСОЕДИНИТЬ) — для гибкого объединения.
    • 🔹 Power Query — для сложных трансформаций без потерь.

    Метод Удалить дубликаты из меню Excel удаляет целые строки, поэтому данные теряются.

    Как объединить данные из нескольких листов?

    Есть два способа:

    1. С помощью Power Query:
      1. Импортируйте каждый лист как отдельный запрос.
      2. Объедините запросы с помощью Объединить (Merge).
      3. Примените группировку по ключевому столбцу.
    2. С помощью формул: Используйте 3D-ссылки (например, =СУММ(Лист1:Лист3!B2)), но это менее гибко.
    Почему ВПР возвращает ошибку #Н/Д?

    Причины и решения:

    • 🔹 Нет точного совпадения: Проверьте пробелы, регистр, скрытые символы.
    • 🔹 Неверный диапазон поиска: Убедитесь, что искомое значение есть в первом столбце диапазона.
    • 🔹 Формат ячеек: Преобразуйте оба столбца в одинаковый формат (например, текст или число).

    Используйте ЕСЛИОШИБКА(ВПР(...);"Не найдено"), чтобы скрыть ошибку.

    Как автоматизировать объединение дубликатов?

    Для автоматизации подходят:

    • 🔹 Макросы VBA: Запишите последовательность действий и запускайте её в один клик.
    • 🔹 Power Query: Сохраните запрос — при обновлении данных результат пересчитается автоматически.
    • 🔹 Google Apps Script: Для Google Таблиц можно написать скрипт на JavaScript.

    Пример скрипта для Google Таблиц:

    function mergeDuplicates() {
    

    var sheet = SpreadsheetApp.getActiveSheet();

    var data = sheet.getDataRange().getValues();

    var result = {};

    data.forEach(function(row, i) {

    if (i === 0) return; // Пропускаем заголовки

    var key = row[0]; // Ключевой столбец (например, A)

    if (!result[key]) {

    result[key] = { sum: 0, rows: [] };

    }

    result[key].sum += row[1]; // Столбец для суммирования (например, B)

    result[key].rows.push(row);

    });

    // Вывод результата на новый лист

    var newSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet("Результат");

    newSheet.appendRow(["Товар", "Общее количество"]);

    for (var key in result) {

    newSheet.appendRow([key, result[key].sum]);

    }

    }

    Что делать, если дубликаты частичные (например, похожие названия)?

    Для частичных совпадений используйте:

    • 🔹 Функцию ПОХОЖЕ: Она сравнивает строки с учётом опечаток (например, =ПОХОЖЕ("Excel";"Exel") вернёт ИСТИНА).
    • 🔹 Нечёткий поиск в Power Query: Используйте Fuzzy Matching (требует надстройки).
    • 🔹 Ручную проверку: Отсортируйте данные и вручную исправьте похожие записи.

    Пример формулы с ПОХОЖЕ:

    =ЕСЛИ(ПОХОЖЕ(A2;B2);"Совпадает";"Не совпадает")