EXCEL 提取相同名称列的行数据,将这些数据放到第一行。

如图,第一列名称相同(前面数字存不存在都可以),要提取第二列的数据,将这个数据放到名称相同的第一行后面。

作个小循环程序即可。

 

Sub 汇总数据()

For i = 1 To 6

   NowData = Right(Cells(i, 1), Len(Cells(i, 1)) - 6)

   k = 0

   For j = i + 1 To 6

       If NowData = Right(Cells(j, 1), Len(Cells(j, 1)) - 6) Then

          k = k + 1

          Cells(i, 2 + k) = Cells(j, 2)

       End If

   Next j

   i = i + k

Next i

End Sub

 

结果如下图

 

 

 

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-23

先按"名称"列进行排序,在"数据2"中输入公式:=IF($A2=$A3,B3,""),然后按列向下拖拉公式,再按行向右拖拉公式,每一个不同名称的第一行后的数据,即为列名称相同的数据.

第2个回答  2013-01-23
1.贴图贴上行列号
2.是否每项都是3行追问

每项不一样,有的三行有的两行,中间隐藏了两列无关数据。

追答

=IF((RIGHT(B3,4)<>RIGHT(B2,4))*(RIGHT(B3,4)=RIGHT(B4,4)),C4,"")

=IF((RIGHT(B3,4)<>RIGHT(B2,4))*(RIGHT(B3,4)=RIGHT(B5,4)),C5,"")

找两个空列

输入公式

下拉