找回密码
 立即注册
搜索

怎么让一列或多列数据转换为一行或者多行数据?(已解决) ...

8
回复
1305
查看
[复制链接]

1

主题

4

帖子

0

幻币

初入江湖

Rank: 1

积分
4
2021-11-25 13:51:00 显示全部楼层 |阅读模式
想要图片上的效果,因为数据很多,有3000多行数据,需要图片这样的转换,想看看有啥好的办法。
d3caa52b519222481a4761f38908a059.jpg
工作簿1.zip (7.39 KB, 下载次数: 125)
PPT学习论坛
回复

使用道具 举报

1

主题

7

帖子

0

幻币

初入江湖

Rank: 1

积分
7
2021-12-5 04:54:21 显示全部楼层
就本附件数据:建议增加字段名+数据透视表,如果b列是随机值,再增加辅助列进行数据透视
工作簿1.zip (15.33 KB, 下载次数: 12)
PPT学习论坛
回复 支持 反对

使用道具 举报

4

主题

15

帖子

6

幻币

初入江湖

Rank: 1

积分
27
2021-12-6 17:36:48 显示全部楼层
Private Sub CommandButton1_Click()
  Dim dr As New Dictionary
  Dim dc As New Dictionary
  Dim arr, brr(), I&, N&
  arr = Range(Range("A60000").End(xlUp), "B1")
  N = UBound(arr)
  ReDim brr(1 To N, 1 To 100)
  For I = 1 To N
  If Not dr.Exists(arr(I, 1)) Then
    dr(arr(I, 1)) = dr.Count + 1
  End If
  dc(arr(I, 1)) = dc(arr(I, 1)) + 1
  brr(dr(arr(I, 1)), dc(arr(I, 1))) = arr(I, 2)
  Next
  Range("D1").EntireColumn.Resize(, 100 + 1).ClearContents
  Range("E1").Resize(dr.Count, 100) = brr
  Range("D1").Resize(dr.Count) = WorksheetFunction.Transpose(dr.Keys())
End Sub
PPT学习论坛
回复 支持 反对

使用道具 举报

3

主题

5

帖子

6

幻币

初入江湖

Rank: 1

积分
17
2021-12-13 18:56:02 显示全部楼层
。。。。。。。用字典。
22222221.7z (18.81 KB, 下载次数: 15)
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

幻币

初入江湖

Rank: 1

积分
2
2022-1-11 02:05:42 显示全部楼层
=IFERROR(INDEX($B$1:$B$38,SMALL(IF($A$1:$A$38=$D1,ROW($A$1:$A$38),4^8),COLUMN(A1))),"")
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

9

帖子

-1

幻币

初入江湖

Rank: 1

积分
7
2022-1-14 08:46:10 显示全部楼层
谢谢。紫薯布丁
PPT学习论坛
回复 支持 反对

使用道具 举报

2

主题

6

帖子

1

幻币

初入江湖

Rank: 1

积分
5
2022-1-21 04:24:46 显示全部楼层
非常好用,谢谢版主大人
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

4

帖子

1

幻币

初入江湖

Rank: 1

积分
6
2022-2-3 11:13:52 显示全部楼层
5楼的数组也能达到效果
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

9

帖子

2

幻币

初入江湖

Rank: 1

积分
8
2022-2-18 06:59:02 显示全部楼层
论坛的大咖们,谢谢你们的支持!
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册