列Aに重複が存在する場合、列Bの値をマージしたい
A B
123 A
123 B
123 C
456 D
456 E
789 F
私の出力は次のようになります
A B
123 A B C
456 D E
789 F
大量のデータがあり、手動で行うのは難しいので、Excel のマクロで行う方法はありますか?
どんな助けでも大歓迎です..事前に感謝します
列Aに重複が存在する場合、列Bの値をマージしたい
A B
123 A
123 B
123 C
456 D
456 E
789 F
私の出力は次のようになります
A B
123 A B C
456 D E
789 F
大量のデータがあり、手動で行うのは難しいので、Excel のマクロで行う方法はありますか?
どんな助けでも大歓迎です..事前に感謝します
私はごまかして、次のように式を使用します。1) 列 A で並べ替え
2)列Cに、現在の式が最後かどうかをテストする式を追加します(ヘッダーがあると仮定して、これをC2に入れます
=if(A2<>A3,TRUE,FALSE)
現在、これは一連の同じ ID の最後のセルにのみ当てはまります。
3) 列 D に、ID が同じ場合に連結する式を追加します。
=if(A2=A1,D1&" "&B2,B2)
4) 列 C をフィルター処理して、各シリーズの最後のセルのみを表示します。
乾杯。
次のマクロを使用できます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
cnt = 10
For i = 2 To 7
strg = strg + Cells(i, 2)
If Cells(i + 1, 1) <> Cells(i, 1) Then
Cells(cnt, 1) = Cells(i, 1)
Cells(cnt, 2) = strg
cnt = cnt + 1
strg = ""
End If
Next
End Sub
要求されたデータはセル 10 から印刷されます