Vai al contenuto principale

Come concatenare le righe in una cella in base al gruppo in Excel?

Ecco un intervallo di due colonne, una è l'elenco delle classi e l'altra è l'elenco dei nomi degli studenti. Come vedi, alcuni studenti sono nella stessa classe, altri no. Ora voglio concatenare gli studenti della stessa classe in una cella come mostrato nell'immagine sottostante, come posso gestirlo rapidamente in Excel?
doc concatenate dal gruppo 1

Raggruppa e concatena con le formule e la funzione Filtro

Raggruppa e concatena con il codice VBA

Raggruppa e concatena con Combina righe avanzatebuona idea 3


Raggruppa e concatena con le formule e la funzione Filtro

In Excel, puoi applicare formule a righe concatenate in base a una colonna, quindi utilizzare la funzione Filtro per visualizzare solo il risultato.

Note:: È necessario ordinare i dati in base alla classe prima di seguire i passaggi.

1. In una cella vuota accanto all'intervallo di dati, ad esempio C13, digitare questa formula =IF(A13=A12,C12&", "&B13,B13), stampa Enter chiave e riempire la formula nelle celle trascinando la maniglia di riempimento.
doc concatenate dal gruppo 2

Nella formula, A13 è il primo dato nella colonna "Classe", B13 è il primo dato nella colonna "Nome", "," è il separatore per delimitare i contenuti concatenati.

2. Quindi nella colonna successiva, D13, digitare questa formula =IF(A13<>A14,"Last","") e trascina la maniglia di riempimento verso il basso per applicare la formula alle celle che ti servono.
doc concatenate dal gruppo 3

3. Selezionare ora tutto l'intervallo di dati comprese le formule e fare clic Dati > Filter aggiungere Filter icons ai dati.
doc concatenate dal gruppo 4

4. Fare clic sul Filter icon nell'ultima intestazione della formula, controlla Last casella di controllo solo dall'elenco a discesa e fare clic su OK.
doc concatenate dal gruppo 5

Ora il risultato è mostrato come di seguito, puoi rimuovere l'ultima colonna helper se non ne hai mai bisogno.
doc concatenate dal gruppo 6


Raggruppa e concatena con il codice VBA

Ecco un codice VBA che può anche gestire questo lavoro.

1. Stampa Alt + F11 tasti per abilitare il Microsoft Visual Basic for Applications finestra.

2. Quindi nella finestra, fare clic su Tools > References abilitare References finestra di dialogo e controllare Microsoft Scripting Runtime. Vedi screenshot:
doc concatenate dal gruppo 7
doc concatenate dal gruppo 8

3. Clic OKe fare clic Insert > Module nella finestra VBA e copia e incolla sotto il codice VBA nel file Module script. Vedi screenshot:

VBA: concatena le righe in una cella in base al gruppo

  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 dal gruppo 9

4. Stampa F5 chiave e seleziona l'intervallo di dati che usi nella finestra di dialogo popping.
doc concatenate dal gruppo 10

5. Clic OK per selezionare la colonna chiave su cui si desidera raggruppare.
doc concatenate dal gruppo 11

6. Clic OK, ora il risultato è mostrato come di seguito:
doc concatenate dal gruppo 12


Raggruppa e concatena con Combina righe avanzate

Ecco un'utilità in Kutools for Excel, Advanced Combine Righe, che può combinare righe o eseguire calcoli basati su una colonna chiave in Excel.

Kutools for Excel, con oltre 300 funzioni utili, rende il tuo lavoro più facile. 

Dopo l'installazione Kutools per Excel, per favore fai come di seguito:(Scarica subito Kutools per Excel!)

1. Selezionare l'intervallo di dati che si utilizza e fare clic Kutools > Unisci e dividi > Combina righe avanzate.
doc concatenate dal gruppo 13

2. Nel Advanced Combine Rows finestra, scegli la colonna su cui desideri combinare le righe e fai clic su Primary Key per impostarlo come colonna chiave.
doc concatenate dal gruppo 14

3. Selezionare la colonna da combinare, fare clic su Combinee scegli un delimitatore da utilizzare per separare i contenuti combinati.

doc concatenate dal gruppo 15 doc freccia destra doc concatenate dal gruppo 16

4. Clic Ok. Il risultato è mostrato come questo:
doc concatenate dal gruppo 17

Note:: Prima di applicare l'utilità, è meglio avere una copia dei dati originali.

I migliori strumenti per la produttività in ufficio

Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   Più di 50 Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

scheda kte 201905


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
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