Прескочи на основното съдържание

Как да свържа редове в една клетка въз основа на група в Excel?

Автор: Слънце Последна промяна: 2020-08-18

Ето диапазон от две колони, едната е списъкът на класовете, а другата е списъкът с имената на учениците. Както виждате, някои ученици са в един клас, други не. Сега искам да свържа учениците в един и същи клас в една клетка, както е показано на екранната снимка по-долу, как мога бързо да се справя с това в Excel?
doc конкатенация по група 1

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

Групирайте и свържете с VBA код

Групирайте и свържете с разширени редове за комбиниранедобра идея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


Групирайте и свържете с разширени редове за комбиниране

Ето една помощна програма в Kutools за Excel, Advanced Combine Редове, който може да комбинира редове или да прави изчисления въз основа на ключова колона в Excel.

Kutools за Excel, с повече от 300 удобни функции, прави работата ви по-лесна. 

След инсталиране Kutools за Excel, моля, направете следното:(Безплатно изтегляне Kutools за Excel сега!)

1. Изберете диапазона от данни, който използвате, и щракнете Kutools > Обединяване и разделяне > Разширено комбиниране на редове.
doc конкатенация по група 13

2. В Advanced Combine Rows прозорец, изберете колоната, въз основа на която искате да комбинирате редове, и щракнете Primary Key за да го зададете като ключова колона.
doc конкатенация по група 14

3. Изберете колоната, която трябва да комбинирате, щракнете Combineи изберете един разделител, който използвате за разделяне на комбинираното съдържание.

doc конкатенация по група 15 doc стрелка надясно doc конкатенация по група 16

4. кликване Ok. Резултатът се показва по следния начин:
doc конкатенация по група 17

Забележка: Преди да приложите помощната програма, по-добре е да имате копие на оригиналните данни.

Най-добрите инструменти за продуктивност в офиса

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

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 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