找回密码
 立即注册
搜索

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

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

3

主题

12

帖子

6

幻币

初入江湖

Rank: 1

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

使用道具 举报

2

主题

8

帖子

2

幻币

初入江湖

Rank: 1

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

使用道具 举报

0

主题

4

帖子

0

幻币

初入江湖

Rank: 1

积分
0
2022-1-4 03:24:26 显示全部楼层
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学习论坛
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

幻币

东方不败

积分
-6
2022-1-9 01:51:29 显示全部楼层
。。。。。。。用字典。
22222221.7z (18.81 KB, 下载次数: 13)
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

幻币

初入江湖

Rank: 1

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

使用道具 举报

2

主题

10

帖子

1

幻币

初入江湖

Rank: 1

积分
12
2022-2-7 22:48:26 显示全部楼层
谢谢。紫薯布丁
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

5

帖子

-1

幻币

东方不败

积分
-3
2022-2-17 15:03:07 显示全部楼层
非常好用,谢谢版主大人
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

7

帖子

-2

幻币

初入江湖

Rank: 1

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

使用道具 举报

2

主题

4

帖子

2

幻币

东方不败

积分
-1
2022-3-2 20:04:29 显示全部楼层
论坛的大咖们,谢谢你们的支持!
PPT学习论坛
回复 支持 反对

使用道具 举报

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