Как да свържа редове в една клетка въз основа на група в Excel?
Ето диапазон от две колони, едната е списъкът на класовете, а другата е списъкът с имената на учениците. Както виждате, някои ученици са в един клас, други не. Сега искам да свържа учениците в един и същи клас в една клетка, както е показано на екранната снимка по-долу, как мога бързо да се справя с това в Excel?
Групирайте и обединете с формули и функция за филтриране
Групирайте и свържете с VBA код
Групирайте и свържете с разширени редове за комбиниране
Групирайте и обединете с формули и функция за филтриране
В Excel можете да прилагате формули към свързани редове въз основа на една колона, след което да използвате функцията Филтър, за да покажете само резултата.
Забележка: Трябва да сортирате данните си по клас, преди да следвате стъпките.
1. В празна клетка до диапазона от данни, например C13, въведете тази формула =IF(A13=A12,C12&", "&B13,B13), Натиснете Enter и запълнете формулата до клетки с плъзгане на манипулатор за запълване.
Във формулата A13 са първите данни в колоната „Клас“, B13 са първите данни в колоната „Име“, „,“ е разделителят за разделяне на конкатенираното съдържание.
2. След това в следващата колона, D13, въведете тази формула =IF(A13<>A14,"Last","") и плъзнете манипулатора за запълване надолу, за да приложите формулата към клетките, от които се нуждаете.
3. Сега изберете целия диапазон от данни, включително формули, и щракнете Дата > Filter да добавите Filter icons към данните.
4. Щракнете върху Filter icon в последната заглавка на формулата, проверете Last отметка само от падащия списък и щракнете OK.
Сега резултатът е показан по-долу, можете да премахнете последната помощна колона, ако никога не ви трябва.
Групирайте и свържете с VBA код
Ето код на VBA, който също може да се справи с тази работа.
1. Натиснете Alt + F11 клавиши за активиране на Microsoft Visual Basic for Applications прозорец.
2. След това щракнете върху прозореца Tools > References да се даде възможност References диалогов прозорец и проверете 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
4. Натиснете F5 и изберете диапазона от данни, който използвате в изскачащия диалогов прозорец.
5. кликване OK за да изберете ключовата колона, въз основа на която искате да групирате.
6. кликване OK, сега резултатът е показан по-долу:
Групирайте и свържете с разширени редове за комбиниране
Ето една помощна програма в Kutools за Excel, Advanced Combine Редове, който може да комбинира редове или да прави изчисления въз основа на ключова колона в Excel.
Kutools за Excel, с повече от 300 удобни функции, прави работата ви по-лесна. |
След инсталиране Kutools за Excel, моля, направете следното:(Безплатно изтегляне Kutools за Excel сега!)
1. Изберете диапазона от данни, който използвате, и щракнете Kutools > Обединяване и разделяне > Разширено комбиниране на редове.
2. В Advanced Combine Rows прозорец, изберете колоната, въз основа на която искате да комбинирате редове, и щракнете Primary Key за да го зададете като ключова колона.
3. Изберете колоната, която трябва да комбинирате, щракнете Combineи изберете един разделител, който използвате за разделяне на комбинираното съдържание.
4. кликване Ok. Резултатът се показва по следния начин:
Забележка: Преди да приложите помощната програма, по-добре е да имате копие на оригиналните данни.
Демонстрация
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!