Excel 将行转换为列

Excel 将行转换为列

输入表是

Project ID  Project
A   1
A   2
A   3
B   4
B   5
B   6
B   7
C   8
C   9

输出表

A   B   C
1   4   8
2   5   9
3   6   
    7   

有人可以帮忙吗?

答案1

首先将列标题放在第 1 行,例如:

在此处输入图片描述

然后运行这个简短的宏:

Sub FillColumns()
   Dim i As Long, N As Long, M As Long
   Dim r As Range, v As String
   N = Cells(Rows.Count, "A").End(xlUp).Row

   For i = 2 To N
      v = Cells(i, "A").Value
      Set r = Range("A1").EntireRow.Find(After:=Range("C1"), What:=v)
      c = r.Column
      M = Cells(Rows.Count, c).End(xlUp).Row + 1
      Cells(M, c).Value = Cells(i, 2).Value
   Next i
End Sub

生产:

在此处输入图片描述

宏确实不是需要任一列A或者待排序。

答案2

正如@Burgi 在他的评论中所说,这里最简单的事情就是创建一个数据透视表。

选择所需的数据,然后从功能区中选择数据透视表。然后将您的项目 ID 行设置为列,将项目 ID 设置为行。这将告诉您每个项目 A1、A2、A3 的数量。

艾斯利福是了解更多信息的好起点:)

相关内容