单列中的列B行值与列A连接

我在“A”列有大约400多条logging的数据,在“B”列有不同的详细信息。 表格中总共有3000多行,如下所示:

Column A Column B CHI150 UPS1 CHI150 TOWER1 CHI150 TOWER2 CHI160 EB1 CHI160 UPS1 CHI160 TOWER1 CHI163 EB1 CHI163 TOWER2 CHI163 UPS2 CHI195 TOWER1 CHI195 EB1 

我想要连接像下面提到的数据。

 Column A Column B CHI150 UPS1, TOWER1, TOWER2 CHI160 EB1, UPS1, TOWER1 CHI163 EB1, TOWER2, UPS2 CHI195 TOWER1, EB1 

请提供解决scheme,并提前致谢

假设您分别在A2和B2单元格的A和B列中有数据。

 Sub test() 'change the sheet name as yours Sheets("Sheet1").Activate 'Change the range as yours and you need update the column as well in cells(rows.count,1) Set Rng = Range("A2", Cells(Rows.Count, 1).End(xlUp)) Set rng1 = Range("D2", Cells(Rows.Count, 4).End(xlUp)) Range("A2", Cells(Rows.Count, 1).End(xlUp)).Copy 'copy pasteing the column A and removing duplicates Range("D2").PasteSpecial xlPasteValues ActiveCell.RemoveDuplicates Columns:=1, Header:=xlNo ' now concordinating the values For Each cell In rng1 For Each cell1 In Rng If cell.Value = cell1.Value Then If cell.Offset(0, 1).Value = "" Then cell.Offset(0, 1).Value = cell1.Offset(0, 1).Value Else cell.Offset(0, 1).Value = cell.Offset(0, 1).Value & ", " & cell1.Offset(0, 1).Value End If End If Next cell1 Next cell End Sub 

感谢您对问题所做的更改,以便更好地进行解释。

我拿了一张类似于你的问题的样本表,并且能够在新的列中得到想要的结果

  1. 将B1的值复制到C1
  2. 将以下公式应用于从列2开始的所有列C(即C2)。 这将检查当前行的列A上的值是否与前一行相似,并应将列B的值附加到列C中的前一行的计算值上。

    = IF(A2 = A1,(C1&“,”&B2),B2)

  3. 对于D列的所有行,从第1行开始,input下面的公式

    = IF(A1 = A2, “”, “改变”)

  4. 这应该用“更改”来填充列D的一些行,然后可以筛选列D作为仅包含“已更改”值的logging。

这应该得到你想要的结果。