Note: The other languages of the website are Google-translated. Back to English
English English

Jak zřetězit řádky do jedné buňky na základě skupiny v aplikaci Excel?

Zde je řada dvou sloupců, jeden je seznam tříd a druhý je seznam jmen studentů. Jak vidíte, někteří studenti jsou ve stejné třídě, někteří ne. Nyní chci zřetězit studenty ve stejné třídě do jedné buňky, jak je ukázáno níže, jak to mohu rychle zpracovat v aplikaci Excel?
doc zřetězit podle skupiny 1

Seskupujte a zřetězujte pomocí vzorců a funkce Filtr

Seskupujte a zřetězujte pomocí kódu VBA

Seskupujte a zřetězujte pomocí Advanced Combine Rowsdobrý nápad3


Seskupujte a zřetězujte pomocí vzorců a funkce Filtr

V aplikaci Excel můžete použít vzorce na zřetězené řádky založené na jednom sloupci a poté pomocí funkce Filtr zobrazit pouze výsledek.

Poznámka: Před provedením následujících kroků je třeba seřadit data podle třídy.

1. Do prázdné buňky vedle datového rozsahu, například C13, zadejte tento vzorec =IF(A13=A12,C12&", "&B13,B13), lis Enter klíč a vyplňte vzorec do buněk přetažením rukojeti výplně.
doc zřetězit podle skupiny 2

Ve vzorci je A13 první údaj ve sloupci „Třída“, B13 je první údaj ve sloupci „Název“, „,“ je oddělovač k vymezení zřetězeného obsahu.

2. Potom v dalším sloupci D13 zadejte tento vzorec =IF(A13<>A14,"Last","") a přetažením rukojeti výplně dolů použijete vzorec na buňky, které potřebujete.
doc zřetězit podle skupiny 3

3. Nyní vyberte celý rozsah dat včetně vzorců a klepněte na Data > Filter přidat Filter icons k datům.
doc zřetězit podle skupiny 4

4. Klepněte na tlačítko Filter icon v posledním záhlaví vzorce zkontrolujte Last zaškrtávací políčko pouze z rozevíracího seznamu a klikněte na OK.
doc zřetězit podle skupiny 5

Výsledek je nyní zobrazen níže. Poslední sloupec pomocníka můžete odebrat, pokud jej nikdy nepotřebujete.
doc zřetězit podle skupiny 6


Seskupujte a zřetězujte pomocí kódu VBA

Zde je kód VBA, který také zvládne tuto práci.

1. lis Alt + F11 klávesy pro povolení Microsoft Visual Basic for Applications okno.

2. Potom v okně klikněte na Tools > References umožnit References dialogové okno a zkontrolujte Microsoft Scripting Runtime. Viz snímek obrazovky:
doc zřetězit podle skupiny 7
doc zřetězit podle skupiny 8

3. cvaknutí OK, a klepněte na tlačítko Insert > Module v okně VBA a zkopírujte a vložte pod kód VBA do Module skript. Viz screenshot:

VBA: Spojte řádky do jedné buňky na základě skupiny

  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 concatenate by group 9

4. Press F5 key, and select the data range you use in the popping dialog.
doc concatenate by group 10

5. Click OK to select the key column you want to group based on.
doc concatenate by group 11

6. Click OK, now the result is shown as below:
doc concatenate by group 12


Group and concatenate with Advanced Combine Rows

Here is a utility in Kutools for Excel, Advanced Combine Rows, which can combine rows or do calculations based on a key column in Excel.

Kutools for Excel, with more than 300 handy functions, makes your jobs more easier. 

After installing Kutools for Excel, please do as below:(Free Download Kutools for Excel Now!)

1. Select the data range you use and click Kutools > Merge & Split > Advanced Combine Rows.
doc concatenate by group 13

2. In the Advanced Combine Rows window, choose the column which you want to combine rows based on, and click Primary Key to set it as key column.
doc concatenate by group 14

3. Select the column you need to combine, click Combine, and choose one delimiter you use to separate the combined contents.

doc concatenate by group 15 doc arrow right doc concatenate by group 16

4. Click Ok. The result is shown as this:
doc concatenate by group 17

Note: Before apply the utility, you had better have a copy of the original data.


The Best Office Productivity Tools

Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.
kte tab 201905

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom
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
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations