Raggruppa righe in Excel e concatena i valori da un'altra colonna [duplicato]


Risposte:


1

Il modo migliore per farlo è creare una macro e quindi eseguire quella macro ogni volta che è necessario. Se non conosci bene come creare i macro, dai un'occhiata Creazione di macro VBA .

Prova questo:

Sub combineValues()
    Dim dic As Dictionary
    Dim key, val, i, p, k
    Set dic = New Dictionary
    For i = 1 To Worksheets(1).Range("A65536").End(xlUp).Row
        key = Worksheets(1).Cells(i, 1).Value
        val = Worksheets(1).Cells(i, 2).Value
        If dic.Exists(key) Then
            dic.Item(key) = dic.Item(key) & ", " & val
        Else
            dic.Add key, val
        End If
    Next
    p = 1
    For Each k In dic.Keys
        Worksheets(2).Cells(p, 1) = k
        Worksheets(2).Cells(p, 2) = dic.Item(k)
        p = p + 1
    Next
End Sub

Nota che dovrai utilizzare "Microsoft Scripting Runtime" in "Reference" per poterlo utilizzare Dictionary.

Testato con il seguente [Foglio 1]:

1   value 1
2   value 2
3   value 3
1   value 4
1   value 5
3   value 6
3   value 7
2   value 8
1   value 9
2   value 10
2   value 11
2   value 12

Risultati nel seguito [Foglio 2]:

1   value 1, value 4, value 5, value 9
2   value 2, value 8, value 10, value 11, value 12
3   value 3, value 6, value 7

Affinché questo funzioni, è necessario abilitare il runtime di scripting Microsoft. Nell'editor VBA: menu Strumenti & Riferimenti; & gt; spunta Runtime di script Microsoft e salva
embe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.