excel数据透视表练习?excel怎么取消设置数据透视表?( 三 )
●在数据透视表外使用公式创建计算字段
通过使用公式在外部单元格内进行计算可以添加计算字段 。虽然这种方法可以给出随数据透视表刷新而更新的计算字段,但是数据透视表的任何结构变化都可能使该公式无效 。
●直接在数据透视表内插入计算字段
直接在数据透视表内插入计算字段是最佳选项,可以消除要管理公式的需求,提供数据源增加或变化时的可量测性,度量定义变化时的灵活性 。
这种方法的另一个显著的优势是可以改变数据透视表的结构,甚至依据计算字段度量不同的数据字段,而不用担心公式出错或者丢失单元格引用 。关键问题是集成自定义计算到数据透视表中有许多好处,包括:
▲可能的公式和单元格引用错误的消除;
▲添加或者删除数据透视表中的数据而不影响计算的能力;
▲数据透视表改变或刷新时,自动重新计算的能力;
▲度量定义变化时,很容易修改计算的灵活性;
▲有效地管理和维护计算的能力 。
Exce12007提供了3种布局样式,而不是之前版本可以使用的两种 。新样式“压缩布局”可能是用户的数据透视表的默认样式 。在“数据透视表工具”中的“设计”选项卡的“布局”组中可以控制布局改变,该组有4个菜单:
●分类汇总:将分类汇总移到组的顶部或底部,或关闭分类汇总 。
●总计:打开或关闭行和列的总计 。
●报表布局:使用压缩、大纲或者表格形式 。
●空行:在每一组后插入空行,或者删除每一组后的空行 。
如果想设置数据透视表布局,请在“数据透视表工具”点击“设计”选项卡,在“布局”组中点击“报表布局”,然后选择相应的布局样式 。
使用新的压缩形式布局
默认情况下,所有新的数据透视表都使用压缩布局 。在这种布局中,行区域中的多个字段堆叠在列中 。压缩形式适合使用“展开”和“折叠”图标 。
折叠某个字段之后,可以使用列A中的加号图标显示单个地区的明细数据,或者单击“选项”选项卡上的“展开整个字段”图标再次显示明细数据 。
使用大纲形式的布局
如果计划将数据透视表的数值复制到新的位置,这种布局比较合适 。虽然压缩形式的布局能够提供将多个字段挤压到一列中的巧妙方法,但对于以后重新使用数据并不理想 。
默认情况下,压缩和大纲布局会将分类汇总显示在每组的顶部 。可以使用“设计”选项卡上的“分类汇总”下拉选项将分类汇总移到每组底部 。
使用传统的表格形式布局
经验丰富的数据透视表使用人员比较认同的表格形式布局 。这种布局类似于数据透视表一出现时所使用的布局 。在这种布局中,分类汇总从不会出现在组的顶部 。如果希望在后续分析中使用得到的汇总数据,表格形式的布局也许是最好的布局 。
<Excel技巧>如何一次性设置数据透视表统计方式
首先声明下面的代码为陈希章老师所写!经常使用EXCEL,但是发现数据透视表有一个很不合理的智能化功能!那就是在数值类型中会自动根据当前数据决定数值为计数型还是求和等,一一修改,从网上找到别人请教陈希章老师的一段代码,居然能解决这个批量求和的问题 。但是新的问题是执行处理后,数据是变成求和了,但标题上的名称没有变为求和,仍然为计数,很是头疼,需要再研究了 。数据透视表,现在是计数,如何一次性设置数值为求和? 1 。打开Excel和你的文件,ALT+F11,插入=〉模块2 。将以下代码复制到这个新的模块中3 。ALT+F114 。切换到数据透视表所在的工作表,ALT+F85 。本例而言,你执行ChangeToSum这个程序 除了一次切换到求和方式,这里还提供了几个其他的程序,可以切换到其他的汇总方式,例如计数,平均等,你可以按照需要执行即可 (代码不包含分割线) Sub ChangeSubTotalType(myFunction As XlConsolidationFunction, s As String) '该程序为特定目的设计,作用是将当前工作表中所有数据透视表的计算字段一次性全部换成某种求和方式 If TypeName(ActiveSheet) <> "Worksheet" Then MsgBox "该程序只能在工作表中运行!", vbExclamation, "错误"Exit SubEnd IfDim sh As Worksheet: Set sh = ActiveSheet If sh.PivotTables.Count = 0 Then MsgBox "该程序要求工作表至少有一个数据透视表!", vbExclamation, "错误"Exit SubEnd IfIf sh.ProtectContents = True Then MsgBox "当前工作表被保护,无法执行操作!", vbExclamation, "错误"Exit SubEnd If Dim tb As PivotTable Dim dataField As PivotField For Each tb In sh.PivotTables If tb.DataFields.Count > 0 Then If MsgBox("即将对" & tb.Name & "的" & tb.DataFields.Count & "个字段进行操作,将汇总方式改变为" & s & _ "请确定需要这么做?", vbQuestion + vbYesNo + vbDefaultButton2, "确认") = vbYes Then For Each dataField In tb.DataFields dataField.Function = myFunctionNextEnd IfEnd IfNextSet sh = Nothing Set tb = Nothing End Sub Sub ChangeToSum() ChangeSubTotalType xlSum, "求和"End SubSub ChangeToAverage() ChangeSubTotalType xlAverage, "平均"End SubSub ChangeToCount() ChangeSubTotalType xlCount, "计数"End SubSub ChangeToCountNum() ChangeSubTotalType xlCountNums, "数学计数"End SubSub ChangeToMax() ChangeSubTotalType xlMax, "最大值"End SubSub ChangeToMin() ChangeSubTotalType xlMin, "最小值"End SubSub ChangeToProduct() End Sub以上代码非本人所创,再次声明!
推荐阅读
- 淘宝卖家怎么查看自己的一年销售总额 淘宝交易额数据
- microusb线分不分数据线和充电线 microusb2.0怎么用
- 怎样在Excel中引用其他工作表的数据 引用另一个表格的数据用什么函数
- 你的隐私数据正在网上裸奔
- 数据结构与算法:冒泡排序
- 通向优秀数据分析师的六个阶梯
- 什么是网络数据库?
- 如何清除缓存数据? 如何清除缓存
- 数据包mtu设置多少 数据包mtu
- 幽浮内部敌人手机版汉化 幽浮:内部敌人
