Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3479|回复: 7

[已解决]数据透视表中的二维数据转一维数据问题

[复制链接]
发表于 2012-10-11 10:59 | 显示全部楼层 |阅读模式
描述在附件中,我尝试用数据透视表,但出来的数据不是按原有顺序排的,而且表格中有些没有数据(附件中已用--填充),转换后想保留这些空格,求解!
最佳答案
2012-10-11 11:34
  1. Sub 按钮1_Click()
  2.     Dim A, B, i%, j%, s%
  3.     i = Range("a65536").End(xlUp).Row
  4.     A = Range("a1:g" & i)
  5.     ReDim B(1 To (UBound(A) - 1) * (UBound(A, 2) - 1), 1 To 3)
  6.     For j = 2 To UBound(A, 2)
  7.         For i = 2 To UBound(A)
  8.             s = s + 1
  9.             B(s, 1) = A(1, j)
  10.             B(s, 2) = A(i, 1)
  11.             B(s, 3) = A(i, j)
  12.         Next i
  13.     Next j
  14.     Range("j2:l65536").ClearContents
  15.     Range("j:j").NumberFormatLocal = "e-m-d"
  16.     Range("k:l").NumberFormatLocal = "G/通用格式"
  17.     [j2].Resize(UBound(B), UBound(B, 2)) = B
  18. End Sub
复制代码
转换2.rar (29.34 KB, 下载次数: 21)

转换.rar

12.52 KB, 下载次数: 25

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-10-11 11:34 | 显示全部楼层    本楼为最佳答案   
  1. Sub 按钮1_Click()
  2.     Dim A, B, i%, j%, s%
  3.     i = Range("a65536").End(xlUp).Row
  4.     A = Range("a1:g" & i)
  5.     ReDim B(1 To (UBound(A) - 1) * (UBound(A, 2) - 1), 1 To 3)
  6.     For j = 2 To UBound(A, 2)
  7.         For i = 2 To UBound(A)
  8.             s = s + 1
  9.             B(s, 1) = A(1, j)
  10.             B(s, 2) = A(i, 1)
  11.             B(s, 3) = A(i, j)
  12.         Next i
  13.     Next j
  14.     Range("j2:l65536").ClearContents
  15.     Range("j:j").NumberFormatLocal = "e-m-d"
  16.     Range("k:l").NumberFormatLocal = "G/通用格式"
  17.     [j2].Resize(UBound(B), UBound(B, 2)) = B
  18. End Sub
复制代码
转换2.rar (29.34 KB, 下载次数: 21)
回复

使用道具 举报

 楼主| 发表于 2012-10-11 11:37 | 显示全部楼层
爱疯 发表于 2012-10-11 11:34

非常感谢啊,不过我不会用VBA啊,看着代码就头疼,我自己试着用数据逆透视了,虽然没有保留空值,但也算达到目的了
回复

使用道具 举报

 楼主| 发表于 2012-10-11 11:41 | 显示全部楼层
爱疯 发表于 2012-10-11 11:34

其实觉得VBA很好用,但是写代码太恐怖了,请问有什么初级教程吗?
回复

使用道具 举报

发表于 2012-10-11 11:42 | 显示全部楼层
我觉得你要的结果,不是你说的“逆透视”。
想不出方便的方法,希望学习更好方法。

回复

使用道具 举报

发表于 2012-10-11 11:47 | 显示全部楼层
可选择论坛首页的《V80教程》,或视频版的视频先看看吧。
回复

使用道具 举报

发表于 2012-10-11 12:31 | 显示全部楼层
回复

使用道具 举报

发表于 2012-12-3 16:57 | 显示全部楼层
本帖最后由 菜鸟爱学习 于 2012-12-3 16:59 编辑

如果是我做,我会用数据透视表里面的多重合并功能罗!(上传不了那个操作视频,太大了)
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 06:47 , Processed in 0.568054 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表