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

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

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

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

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

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


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

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

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

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

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

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

3. Теперь выберите весь диапазон данных, включая формулы, и нажмите Данные > Filter добавить Filter icons к данным.
doc объединить по группе 4

4. Нажмите Filter icon в последнем заголовке формулы проверьте Last флажок только из раскрывающегося списка и нажмите OK.
doc объединить по группе 5

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


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

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

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

2. Затем в окне нажмите Tools > References включить References диалог и проверьте Microsoft Scripting Runtime. Смотрите скриншот:
doc объединить по группе 7
doc объединить по группе 8

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

doc объединить по группе 9

4. Нажмите F5 и выберите диапазон данных, который вы используете в открывшемся диалоговом окне.
doc объединить по группе 10

5. Нажмите OK , чтобы выбрать ключевой столбец, по которому вы хотите сгруппировать.
doc объединить по группе 11

6. Нажмите OK, теперь результат показан ниже:
doc объединить по группе 12


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

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

Kutools for Excel, с более чем 300 удобные функции, облегчающие вашу работу. 

После установки Kutools for Excel, сделайте следующее:(Бесплатная загрузка Kutools for Excel прямо сейчас!)

1. Выберите диапазон данных, который вы используете, и нажмите Kutools > Слияние и разделение > Расширенные ряды комбинирования.
doc объединить по группе 13

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

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

doc объединить по группе 15 стрелка вправо doc объединить по группе 16

4. Нажмите Ok. Результат показан так:
doc объединить по группе 17

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

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

🤖 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% и сокращает количество щелчков мышью на сотни каждый день!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
la formule excel détaillée plus haut ne fonctionne pas, il y a un problème=IF(A13=A12,C12&", "&B13,B13)
This comment was minimized by the moderator on the site
Hi, could you repeat the qustion in English? This formula I have tried again, it is correct.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations