1

列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 のマクロで行う方法はありますか?

どんな助けでも大歓迎です..事前に感謝します

4

3 に答える 3

3

私はごまかして、次のように式を使用します。1) 列 A で並べ替え

2)列Cに、現在の式が最後かどうかをテストする式を追加します(ヘッダーがあると仮定して、これをC2に入れます

=if(A2<>A3,TRUE,FALSE)

現在、これは一連の同じ ID の最後のセルにのみ当てはまります。

3) 列 D に、ID が同じ場合に連結する式を追加します。

=if(A2=A1,D1&" "&B2,B2)

4) 列 C をフィルター処理して、各シリーズの最後のセルのみを表示します。

乾杯。

于 2013-07-22T06:03:51.910 に答える
1

次のマクロを使用できます。

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 から印刷されます

于 2013-07-22T06:11:05.667 に答える