vb.net中滚动条一直显示没有数据时也显示_excel中的数据透视表——4000余字,20张动图教你学会数据分析...

在excel中,数据透视表是一种能够快速分析数据的工具,能够灵活地汇总、分析、浏览和呈现数据。而且使用过程也比较简单,大部分功能利用鼠标拖拽和点击即可。那么数据透视表到底该如何使用呢?现在就一起来看看数据透视表的那些实用的功能吧。

200ceb43e57a680e0dc46e6118bb96c0.png

一:建立数据透视表

此处介绍建立数据透视表的3种方法

对于下面表中的数据,如果想要分析不同性别和学历的人数,如何使用数据透视表进行操作呢?(下表为源数据表,后面的演示案例基本都以此表为例)

7fc9a968a486c421bf6cc2ebc21c4aa7.png

1.我们可以通过【插入】选项卡中的【推荐的数据透视表】,直接找到符合条件的数据透视表,然后点击确定就可以建立了。

2.我们也可以选择【插入】选项卡中的【数据透视表】。首先建立一个空白的数据透视表,然后把性别拖动到行字段,学历拖动到列字段,序号拖动到值字段,此时值字段中的序号是“求和”,鼠标单击选择值字段设置,在计算类型中选择计数即可。

第二种方法看上去比较复杂,但是如果没有推荐的模板或者对透视表熟练,自己手工拖动其实也很简单。

c4c90473199984c5e01d3209d85dc8fd.gif

我们也可以通过按下Ctrl+Q快捷键,选择表格,然后建立推荐的数据透视表或者空白数据透视表,动图操作如下所示

8513d3e84a46c89041a4b9f437d543ca.gif

此外,还可以依次按下alt、D、P键,打开数据透视表向导建立数据透视表。

如下图所示,是1月到5月的数据表,每个表中有姓名和数据两列数据,但是表中的姓名及顺序不完全相同,如何快速把这5个表汇总到一个表里呢?

首先,在空白的汇总表中,依次按下alt、D、P键,在数据透视表向导第1步选择【多重合并计算数据区域】,点下一步;

然后,在2a步直接点击下一步;

然后,在2b步分别选择每个表中的A、B两列数据,添加到【所有区域】,点下一步;

最后,在第3步选择汇总表放置的位置,点完成,就可以成功创建一个多表合并的数据透视表了。

0d76924a79a049324f10e56ea8e9540f.gif

二:字段和值的设置

还记得文章开始插入一个数据透视表后,拖动字段进行人数统计吗?

在数据透视表中,有4种字段:

行字段和列字段表示数据透视表的行标题和列标题。

值字段表示数据统计方式,可以是求和、计数、求平均值等。

筛选字段可以通过筛选进行条件统计分析。

如下图所示:我们将姓名拖动到行字段中作为行标题,性别拖到列字段中作为列标题(不统计性别时可以忽略),工资拖到值字段中作为统计数值,再将学历拖到筛选字段中。

此时就可以通过筛选学历,查看不同学历下人员的工资统计情况了。

4e03a4fe752901086e1ea43be38f1988.gif

值汇总依据表示我们统计的数据的方式,可以是求和、计数,求平均值等。

如下图所示,我们将学历拖到行字段中,工资拖到值字段中。

此时可以看到数据透视表中默认的统计方式为按照不同学历进行求和,在表中点击右键——选择【值汇总依据】,就可以选择统计不同学历的人数,工资的平均值,最大值等。

cba0b1cf59c80528c7d823f1779b9277.gif

在值显示方式功能中,可以进行排序,也可以利用百分比统计环比增长,内部结构占比等情况。

如下图所示,我们将性别和学历拖到行字段中,姓名拖到值字段中,就可以统计男生中不同学历的人数和女生中不同学历的人数了。

此时右键点击数据透视表,选择【值显示方式】——【总计的百分比】,就可以看到不同性别下不同学历的人数所占总人数的百分比。

或者选择【值显示方式】——【父级汇总的百分比】,基本字段选择【性别】,就可以看到不同学历在男生中的占比以及不同学历在女生中的占比情况了。

fa3c78bcd9cf2d67073d57ad54acddd2.gif

三:分组

数据透视表有一个明显的特征就是可以对相同数据进行自动组合,我们也可以按照日期、数值或者相同文字特征进行数据的手工分组。

首先看一下如何对日期进行分组?

如下图建立数据透视表后,把入职日期拖动行字段中,把姓名拖到值字段中,这时可以看到数据透视表自动按年进行分组。

然后在数据透视表中A列点击鼠标右键—选择【组合】,只选择月份,可以看到表中按月进行分组统计人数。

或者在【组合】中同时选中年和月份,就可以统计每年中各个月份的人数了。

2a82ed70a47d214b616a9ffa57ef8a39.gif

那么如何对数值进行分组呢?

如下图所示,建立数据透视表后,将工资拖到行字段中,姓名拖到值字段中,就可以统计工资对应的人数了。

然后在数据透视表中A列点击鼠标右键——选择【组合】,最后将起始于设置为4000,终止于设置为10000,步长设置为1000,确定后就可以看到4000到10000中每个工资段中的人数了。

8694d3302b1906cff21977c153d02961.gif

最后如何对文字进行分组呢?

如下图所示,我们以姓名为行字段,工资为值字段建立数据透视表。

然后分别选择数据透视表中相应的姓名,点击鼠标右键——【组合】,就可以进行行字段的组合了。

最后把组的标题分别命名为魏国、吴国、蜀国就完成了对姓名的分组。

此外,我们也可以点击字段前的+/-号,展开或者折查看叠数据。

151f349160c396f32fd92d33145e8f60.gif

四:筛选

在前面我们介绍了通过数据透视表向导将多个工作表汇总成一个工作表,那么如何将一个工作表拆分成多个工作表呢?

如下图所示,我们将姓名拖到行字段,值拖到列字段,学历拖到筛选字段。

然后选择【数据透视表工具】中的【分析】,在左上角可以看到【选项】功能,鼠标点击选项右边的下拉箭头,可以看到【显示报表筛选页】的选项,选择后就可以按照筛选的字段拆分成多个工作表了。

44b936966bb3cab81da04006f1a6faf5.gif

excel中的切片器作为数据筛选工具,既可以在Ctrl+T或者Ctrl+L生成的创建表中使用,也可以在数据透视表中使用。

如下图所示,仍然是把姓名拖动到行字段,工资拖动到值字段。

然后选择【数据透视表工具】——【分析】——【插入切片器】,同时选择【性别】【学历】,然后就可以选择切片器中的内容进行数据透视表的筛选了。选择不连续的内容时按住Ctrl键进行选择即可。

也可以在【插入切片器】中选择【入职日期】,然后拖动筛选器边框拉长,在功能区选项卡中可以看到【按钮】功能区的【列】,可以单击列后面的滚动条或者直接输入列数,就可以看到筛选器中的日期多列并排显示了。

dda229df635fae3947bf601cd3c599cc.gif

excel中的日程表也是一种筛选工具,不过只专门针对日期的进展情况进行筛选。

如下图所示,我们将入职日期拖到行字段,将工资和姓名拖到列字段建立数据透视表。

此时看到数据透视表按年进行统计,可以在A列点击鼠标右键——【组合】,取消选择【季】,就可以看到年份下对应的入职月份统计的工资和人数了。

然后在功能区选择【插入日程表】,就可以按照月份进行筛选展示数据了。也可以在日程表右上角选择按年或者按季度进行数据统计。

d5a1fecc76443d5762e065e04d362a95.gif

五:布局选项

在做好数据透视表以后,很多时候需要演示或者发送给别人,这时就对表格的规范性有一定要求了,那么如何进行设置呢?

如下图所示,我们将性别和学历拖到行字段,工资拖到列字段,这时的图表美观性较差,需要我们设置成一般的表格格式。

首先选择【设计】功能区选项卡中的【报表布局】——【以表格形式显示】【重复所有项目标签】;

然后选择【分类汇总】中的【不显示分类汇总】;

最后选择【分析】选项卡中右上角【+/-按钮】更改标题,居中显示,这时图表的布局设置就完成了。

这里没有用到【设计】中的【汇总】【空行】的功能,这两种功能也是进行表格布局的设置之一。

a76d5df214cf84112e91c3912edecf35.gif

六:多表连接的数据透视表

在数据透视表中,我们也可以利用不同的表格之间的相同特征建立数据联系,从而对多表连接进行数据分析。

在下表中,信息表是每个人的性别、学历、身份证号、出生日期、工资等信息,职级表是学历及对应的职级,现在要以学历为桥梁,对两个表的数据建立关系。

首先,在信息表中,按下快捷键Ctrl+T建立表格,并在左上角重命名为“信息表”,

然后,在职级表中,也按下Ctrl+T建立表格,在左上角重命名为“职级表”,

最后选择【数据】选项卡中的【关系】——【新建】在左边的选项中分别选择信息表和职级表,在右边选择学历,因为两个表中都有学历一列。

这时我们就建立好了两个表之间的关系。

3c2eec197e22d3228500b82dbaa07871.gif

然后就要根据创建的关系进行数据透视表分析了。

首先建立一个新的空白工作表,并插入数据透视表;

然后展开右面信息表,把姓名拖动到行字段,展开职级表,把职级拖到列字段;

最后再把信息表中的工资拖到值字段中,这时就建立了一个不同员工,不同职级的收入情况表了。

1a2dbe693246e69d1dd50984477d0f6e.gif

在上面的例子中,我们把信息表和职级表根据学历这一相同特征建立了表格之间的联系,就像是一对夫妻因为某种原因建立了婚姻关系。

这里的连接不只是可以建立两个表之间的连接关系,而且也可以建立多个表之间的连接关系,从而利用数据透视表进行分析。就像是夫妻双方通过结婚,把双方的父母亲戚等都建立了某种联系。

这个功能在使用上更能体现出数据透视表的灵活性。此处因为篇幅的关系,不再进行详细说明,但是数据透视表建立的原理同两个表之间的连接关系相同。

七:数据透视图

数据透视图可以以图形的形式展示分析的数据,并且能够实现透视表与透视图的同步变化,是一种非常实用的动态交互分析数据的方法。

如下动图所示,选择【插入】选项卡,然后选择【数据透视图】——【数据透视图】,这时就建立了一个新的数据透视表和数据透视表的空白模板。

然后把学历和姓名拖动到轴(类别)字段中,性别拖动到图例(系列)字段中,工资拖到值字段中,就可以建立一个数据透视表和数据透视图了。

此处为了能看清楚图表,可以选择一个深色背景的样式。

此时可以看到,在数据透视图中,男生以蓝色线条展示、女生以橙色线条展示,并且根据学历,在横坐标轴对姓名进行了分组,而纵坐标轴就表示工资水平。比单纯的数据透视表展示效果要好很多。

dd957d4d13a277e379fbede384e20d63.gif

建立好数据透视图后,可以灵活地数据进行数据分析了。

我们可以点击透视图右下角的加号或者减号,对不同的学历展开或者合并。

也可以点击左下角学历的筛选按钮,只统计硕士和大专的工资情况。

还可以点击右边性别的筛选按钮,只统计男生或者女生的工资情况。

在操作的过程中可以看到,数据透视表和数据透视图一直同步变化,数据和图形结合使数据统计更加高效。

d9a09421d919a6fdd6de17fe3d91eb46.gif

这就是本文介绍的数据透视表的常见用法,基本只依赖鼠标拖拽就能实现大部分功能,你学会了吗?

更多excel干货

我不会excel函数,应该从哪些函数开始学习?——这些函数最实用

excel如此简单高效的分列功能,不只是拆分单元格

Excel中查找函数vlookup和index—match使用方法详细介绍

Excel中拖动鼠标的8个小技巧,学了就能用得上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你的 DataGridView 有太多的数据,导出到 Excel 会导致同一行显示两条数据。你需要在导出数据分成多个工作。 以下是示例代码,可以将 DataGridView 数据分成多个工作,每个工作最多显示2000个数据行: ``` Private Sub ExportToExcel(ByVal dgv As DataGridView) Dim xlApp As Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet Dim misValue As Object = System.Reflection.Missing.Value Dim i As Integer Dim j As Integer Dim iRowCount As Integer Dim iColCount As Integer Dim iSheetCount As Integer Dim iStartRow As Integer Dim iEndRow As Integer xlApp = New Excel.Application xlWorkBook = xlApp.Workbooks.Add(misValue) iRowCount = dgv.RowCount iColCount = dgv.ColumnCount iSheetCount = Math.Ceiling(iRowCount / 2000) For k As Integer = 1 To iSheetCount xlWorkSheet = DirectCast(xlWorkBook.Sheets.Add(After:=xlWorkBook.Sheets(xlWorkBook.Sheets.Count), Count:=1, Type:=xlWorkSheetType), Excel.Worksheet) xlWorkSheet.Name = "Sheet" & k.ToString() iStartRow = (k - 1) * 2000 + 1 iEndRow = k * 2000 If iEndRow > iRowCount Then iEndRow = iRowCount End If '写入头 For j = 0 To iColCount - 1 xlWorkSheet.Cells(1, j + 1) = dgv.Columns(j).HeaderText Next '写入数据 For i = iStartRow To iEndRow For j = 0 To iColCount - 1 xlWorkSheet.Cells(i - iStartRow + 2, j + 1) = dgv(j, i - 1).Value.ToString() Next Next '格式化单元格 xlWorkSheet.Rows("1:1").Font.Bold = True xlWorkSheet.Columns.AutoFit() Next xlApp.Visible = True ReleaseObject(xlWorkSheet) ReleaseObject(xlWorkBook) ReleaseObject(xlApp) End Sub '释放 COM 对象 Private Sub ReleaseObject(ByVal obj As Object) Try System.Runtime.InteropServices.Marshal.ReleaseComObject(obj) obj = Nothing Catch ex As Exception obj = Nothing Finally GC.Collect() End Try End Sub ``` 在上面的代码,我们将 DataGridView 分成多个工作,并按顺序命名为 Sheet1、Sheet2、Sheet3 等等。每个工作最多显示2000个数据行。你可以根据需要更改此限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值