人气 5134

[Excel技巧] EXCEL快速实现多维转二维表格 [复制链接]

张淮程 2017-8-1 16:27:28
在工作中有遇到这样一个问题,将一张多维的表格按照月份转换为二维表格。如图所示原始图

1501575072696770.jpg

1501575072696770.jpg

结果图

1501575085109520.jpg

1501575085109520.jpg

由于实际的数据量比较多,如果采取剪切、粘贴的方法,操作相当繁琐。这里我们介绍使用VBA代码实现上述要求.

1501575786587125.jpg

1501575786587125.jpg

详细源码:Sub test()   Application.ScreenUpdating = False  a = 2  For j = 2 To Sheets(1).Cells(Rows.Count, 1).End(3).Row    Sheets(1).Cells(j, 1).Resize(1, 6).copy Cells(a, 1)    For i = 7 To 18      If Len(Sheets(1).Cells(j, i)) > 0 Then        Sheets(1).Cells(j, 1).Resize(1, 6).copy Cells(a, 1)        Cells(a, 7) = Sheets(1).Cells(1, i)        Cells(a, 8) = Sheets(1).Cells(j, i)        a = a + 1      End If    Next i  Next j  Application.ScreenUpdating = True End Sub
代码检查无误之后,依次选择“文件→关闭并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”组合键,打开“宏”对话框,选择并运行宏。效果图

1501575786439655.jpg

1501575786439655.jpg

使用公式法:选择F2单元格,在编辑栏输入公式“=OFFSET(原表!A$2,MOD(ROW(A11),11),)”,向右、向下拖拽填充柄至F2单元格;选择G2单元格,在编辑栏输入公式“=OFFSET(原表!$G$1,(COLUMN(A1)>1)*(MOD(ROW(A1)-1,11)+1),INT((ROW(A1)-1)/11))”,向右拖拽填充柄至H2单元格,公式执行之后向下拖拽填充柄,即可看到图5所示的转换效果。

1501575828844713.jpg

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

QQ|手机版|精益人 ( 沪ICP备19004111号-1 )|网站地图

GMT+8, 2024-12-22 23:17 , Processed in 0.234042 second(s), 23 queries .

Powered by Lean.ren X3.5 Licensed  © 2001-2030 LEAN.REN