Перейти к основному содержанию
 

Как объединить строки в одну ячейку на основе группы в Excel?

Автор: Сан Последнее изменение: 2024 июля 11 г.

Вот диапазон из двух столбцов, один из которых — список классов, а другой — список имен студентов. Как вы видите, некоторые студенты из одного класса, некоторые — нет. Я хочу объединить студентов из одного класса в одну ячейку, как показано на снимке экрана ниже. Как мне быстро справиться с этим в Excel?

Скриншот двух столбцов с классами и именами студентов, а также объединенные имена студентов на основе классов

Группируйте и объединяйте с помощью формул и функции фильтрации

Группировать и объединять с кодом VBA

Группируйте и объединяйте с помощью Advanced Combine Rowsхорошая идея3


Группируйте и объединяйте с помощью формул и функции фильтрации

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

Внимание: Вам необходимо отсортировать данные по классу перед выполнением следующих шагов.

1. В пустой ячейке рядом с диапазоном данных, например C13, введите эту формулу. =IF(A13=A12,C12&", "&B13,B13), нажмите Enter и заполните формулой ячейки с перетаскиванием маркера заполнения.
Скриншот, показывающий формулы Excel, применяемые для объединения строк по классам

В формуле A13 - это первые данные в столбце «Класс», B13 - это первые данные в столбце «Имя», «,» - это разделитель для разделения содержимого конкатенации.

2. Затем в следующем столбце D13 введите эту формулу =IF(A13<>A14,"Last","") , и перетащите маркер заполнения вниз, чтобы применить формулу к нужным ячейкам.
Скриншот, показывающий формулы Excel для маркировки последних значений в каждой группе для конкатенации

3. Теперь выберите весь диапазон данных, включая формулы, и нажмите Данные > Filter добавить Filter icons к данным.
Скриншот кнопки «Фильтр» на ленте Excel

4. Нажмите Filter icon в последнем заголовке формулы проверьте Last флажок только из раскрывающегося списка и нажмите OK.
Скриншот, показывающий только отфильтрованные последние строки в каждой группе в Excel

Теперь результат показан ниже, вы можете удалить последний вспомогательный столбец, если он вам никогда не понадобится.
Скриншот окончательных сгруппированных и объединенных результатов в Excel


Группировать и объединять с кодом VBA

Вот код VBA, который также может справиться с этой задачей.

1. Нажмите Alt + F11 ключи для включения Microsoft Visual Basic for Applications окно.

2. Затем в окне нажмите Tools > References включить References диалог и проверьте Microsoft Scripting Runtime. Смотрите скриншот:
Скриншот параметра «Ссылки» в редакторе Visual Basic for Applications
Скриншот диалогового окна «Справка по VBA» с отмеченным Microsoft Scripting Runtime

3. Нажмите OKи нажмите Insert > Module в окне VBA, скопируйте и вставьте ниже код VBA в Module сценарий. Смотрите скриншот:

VBA: объединить строки в одну ячейку на основе группы

Sub ConcatenateCellsIfSameValues()
'UpdatebyExtendoffice20180201
    Dim I As Long
    Dim J As Long
    Dim xRg As Range
    Dim xRgKey As Range
    Dim xRgVal As Range
    Dim xStr As String
    Dim xDic As New Dictionary
    On Error Resume Next
    Set xRg = Application.InputBox("Select data range", "KuTools for Excel", Selection.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xRgKey = Application.InputBox("Select key column", "KuTools for Excel", xRg.Columns(1).Address, , , , , 8)
    If xRgKey Is Nothing Then
        MsgBox "Key column cannot be empty", vbInformation, "KuTools for Excel"
    End If
    Set xRgVal = xRg(1).Offset(, 1).Resize(xRg.Rows.Count, xRg.Columns.Count - 1)
    For I = 1 To xRgKey.Count
        If I > xRgKey.Count Then Exit For
        xStr = ""
        For J = 1 To xRgVal.Columns.Count
            xStr = xStr & " " & xRgVal(I, J)
        Next
        If xDic.Exists(xRgKey(I).Text) Then
            xDic(xRgKey(I).Text) = xDic(xRgKey(I).Text) & xStr
            xRgKey(I).EntireRow.Delete
            I = I - 1
       Else
            xDic.Add xRgKey(I).Text, xStr
        End If
    Next
    For I = 1 To xRgVal.Count
        xRgVal(I).Value = xDic(xRgKey(I).Text)
    Next
End Sub

Скриншот, показывающий вставленный код VBA в окне модуля

4. Нажмите F5 и выберите диапазон данных, который вы используете в открывшемся диалоговом окне.
Скриншот поля ввода VBA, предлагающего выбрать диапазон в Excel

5. Нажмите OK , чтобы выбрать ключевой столбец, по которому вы хотите сгруппировать.
Скриншот поля ввода VBA, предлагающего выбрать ключевой столбец

6. Нажмите OK, теперь результат показан ниже:
Скриншот, показывающий объединенные результаты после запуска скрипта VBA


Группируйте и объединяйте с помощью Advanced Combine Rows

Вот утилита в Kutools for Excel, Advanced Combine Ряды, который может объединять строки или выполнять вычисления на основе ключевого столбца в Excel.

Kutools for Excel предлагает более 300 расширенных функций для оптимизации сложных задач, повышения креативности и эффективности. Улучшено возможностями искусственного интеллектаKutools точно автоматизирует задачи, упрощая управление данными. Подробная информация о Kutools для Excel...         Бесплатная пробная версия...

1. Выберите диапазон данных, который вы используете, и нажмите Kutools > Слияние и разделение > Расширенные ряды комбинирования.
Скриншот инструмента Kutools for Excel Advanced Combine Rows на ленте Excel

2. в Advanced Combine Rows в окне выберите столбец, на основе которого вы хотите объединить строки, и нажмите Primary Key чтобы установить его как ключевой столбец.
Снимок экрана, показывающий выбор столбца первичного ключа в диалоговом окне Kutools Advanced Combine Rows

3. Выберите столбец, который нужно объединить, нажмите Combineи выберите один разделитель, который вы используете для разделения объединенного содержимого.

Скриншот, показывающий выбор столбцов для объединения и установку разделителя Стрелка вправо Скриншот, показывающий операцию, которую будет использовать Kutools Advanced Combine Rows

4. Нажмите Ok. Результат показан так:
Скриншот, показывающий окончательные объединенные результаты после использования Kutools Advanced Combine Rows

Внимание: Перед применением утилиты рекомендуется создать копию исходных данных.

Kutools for Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Get It Now

Демонстрация: группировка и объединение с помощью Advanced Combine Rows в Kutools для Excel

Kutools for Excel: Более 300 удобных инструментов у вас под рукой! Наслаждайтесь постоянно бесплатными функциями ИИ! Скачать

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!