体验零代码搭建

excel 如何将二维报表整理为数据清单的方法

网友投稿  ·  2023-05-04 06:05  ·  在线excel  ·  阅读 748


Excel是许多职场人士常用的烦恼之源,学习相关技巧需耗费大量时间。简道云作为一款办公神器,能很好地替代Excel。它是一个在线表单和数据管理工具,支持PC端和手机微信浏览器操作。除此之外,简道云还能辅助企业进行流程审批、财务报销、人事管理等业务管理,满足不同需求。

下面1图所示的二维报表数据,是我们实际工作中常见到的。这种报表看起来整齐清楚,就算是数据透视表,然而它并不是真正的数据透视表,无法像数据透视表一样随意进行行列转换并分析数据。因为下面这种表格中含有合并单元格,它也不是最原始的数据清单。为了能够进行各种各样的透视分析,我们需要将其转换为真正的数据清单,如2图所示。 这个问题有多种方法可以解决,无论采用哪种方法,首先必须将合并单元格取消,并填充为上一个

excel 如何将二维报表整理为数据清单的方法

excel 如何将二维报表整理为数据清单的方法

下面1图所示的二维报表数据,是我们实际工作中常见到的。这种报表看起来整齐清楚,就算是数据透视表,然而它并不是真正的数据透视表,无法像数据透视表一样随意进行行列转换并分析数据。因为下面这种表格中含有合并单元格,它也不是最原始的数据清单。为了能够进行各种各样的透视分析,我们需要将其转换为真正的数据清单,如2图所示。

这个问题有多种方法可以解决,无论采用哪种方法,首先必须将合并单元格取消,并填充为上一个单元格(行)或前一个单元格(列)的数据,具体转换方法可以参考前面的数据透视表系列教程。取消合并单元格并填充相应数据后,就可以进行数据表格转换了。

一个最简单的方法就是分别复制粘贴各列的数据到新的数据区域中,需要特别注意准确确定该数据对应的地区、城市、成色和产品。

如果数据量很大,可以使用公式或者VBA来解决。

下面是利用VBA解决上述问题的程序代码。假定取消合并单元格并填充相应数据后表格数据保存在工作表“取消合并单元格”中。下面是相关的代码:Public Sub DataList()    Dim myArray As Variant    Dim n As Long, m As Integer, i As Long, k As Long    Dim ws0 As Worksheet    Dim wsNew As Worksheet    myArray = Array("地区", "城市", "成色", "产品", "销售数量")    Set ws0 = Worksheets("取消合并单元格")    n = ws0.Range("A65536").End(xlUp).Row - 2    m = ws0.Range("IV3").End(xlToLeft).Column - 2    ReDim District(1 To n) As String, Province(1 To n) As String    For i = 1 To n        District(i) = ws0.Range("A" & i + 2)        Province(i) = ws0.Range("B" & i + 2)    Next i    On Error Resume Next    Application.DisplayAlerts = False    Worksheets("数据清单").Delete    Application.DisplayAlerts = False    On Error GoTo 0    Set wsNew = Worksheets.Add    With wsNew        .Name = "数据清单"        .Range("A1:E1") = myArray        For j = 1 To m            For i = 1 To n                .Cells((j - 1) * n + i + 1, 1) = District(i)                .Cells((j - 1) * n + i + 1, 2) = Province(i)                .Cells((j - 1) * n + i + 1, 3) = ws0.Cells(1, j + 2)                .Cells((j - 1) * n + i + 1, 4) = ws0.Cells(2, j + 2)                .Cells((j - 1) * n + i + 1, 5) = ws0.Cells(i + 2, j + 2)            Next i        Next j    End With    Set ws0 = Nothing    Set wsNew = NothingEnd Sub

只要运行上面代码,就可以迅速的将报表数据转换为数据清单,并保存在一个新建的工作表“数据清单”中。如下图2所示。

现在就可以利用整理好的“数据清单”制作数据透视表了。下图3所示的就是利用整理好的数据清单制作的数据透视表的一种报表结构,利用数据透视表可以对数据进行各种统计分析,制作各种统计报表。


excel 实现更为普遍的二维报表整理为数据清单的方法 << 上一篇
2023-05-04 06:05
excel 在制作数据透视表之前,非法日期转换为合法日期的方法
2023-05-04 06:05
下一篇 >>

相关推荐