突破结构限制的“数据透视表”(Excel技巧集团)
出个题:根据A2:C16生成E2:G18的汇总结果。这里的汇总是求和。

遇到这种情况,首选肯定是函数公式,虽然数据源表是个很规范的一维表,可以用数据透视表,可是想建构到上图那么奇葩,数据透视表无此异能。
求和公式是很容易写,但是换个呢?乘积?方差?不重复个数……
============================================================
其实,上面这个计算用的真的是数据透视表,整个操作从头到尾没有在键盘上敲过一个字母。
过程是这样几滴:
先【插入】一个【数据透视表】,这个透视表放哪儿无所谓,重要的是要添加到【数据模型】。

然后就是添加字段:
行字段:表头1
列字段:表头2
值字段:表头3
值字段默认求和,可以根据实际需要修改

数据透视表统计虽然方便快捷,但是成型的透视表无法随意变动,比如像下图那样,把F5里的数据移动到E9,透视表就甩脸子了。

从前遇到这问题,我一般会把透视表粘贴成值,再各种折腾,但这样做有个坏处,因为数据透视表与数据源表之间的关联断开了,一旦数据源修改,整个操作要重做一遍。
但是加入了数据模型的数据所生成的透视表,有个奇特的功能,只要选取数据透视表中的任意单元格,再找到【数据透视表分析】选项卡下的【OLAP工具】,里面有个【转换为公式】,数据透视表就秒变公式了。

转换好的公式用的全部是【多维数据集】函数:

既然是转成公式了,接下来汇总结果的表格结构想要怎么折腾还不是由得我们为所欲为么?
只是这类公式的更新十分古怪,数据源发生变化以后,必须像在数据透视表里的操作一样【刷新】数据才行。
虽然那些多维数据集函数看得我一头雾水,但是第一眼看到转换为公式这个功能时,我还是欢欣鼓舞的,毕竟他帮助我们打破了数据透视表最大的限制:表格结构。
还有个好处是,有些图表是不能生成数据透视图的,比如旭日图,但是用这个法子过渡一下,什么图表都不在话下了,具体详见《突破类型限制的“数据透视图”》https://www.cnblogs.com/officeplayer/p/11334334.html

突破结构限制的“数据透视表”(Excel技巧集团)的更多相关文章
- 突破类型限制的“数据透视图”(Excel技巧集团)
Excel中,图表一共16个大类,但是数据透视图却被"阉"了好几个-- 这也就是说,数据透视图无法与上图中高亮标出的图表类型并存了? 确实如此,但并不绝对,因为我们可以在" ...
- VSTO学习笔记(十四)Excel数据透视表与PowerPivot
原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...
- excel2013做数据透视表
excel2013做数据透视表 Excel最新版更新到2013,相比2003.2007和2010,2013的excel界面方面有一定变化,在操作方面也有一定的便捷性.那么如何使用excel20 ...
- 【转】关于C#使用Excel的数据透视表的例子
收到消息,下星期又有导出 Excel 报表的代码要写.心想,不就是 OleDb 先 CREATE 表, 然后 INSERT 么?都是体力活啊...... 结果拿到纸张的报表,我就悲剧了.报表的结构,像 ...
- Excel学习 -- 数据透视表功能
Excel -- 数据透视表基础 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等.所进行的计算与数据跟数据透视表中的排列有关. 之所以称为数据透视表,是因 ...
- 我们无法找到服务器加载工作簿的数据模型"的 SharePoint 网站,当您刷新 Excel 2013 工作簿中的数据透视表时出错
假定您使用 Analysis Services 源在 Microsoft Excel 2013 中创建数据透视表.将 Excel 工作簿上载到 Microsoft SharePoint 网站中.当您尝 ...
- C# 操作Excel数据透视表
一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...
- Excel如何快速统计一列中相同数值出现的个数--数据透视表
excel如何快速统计一列中相同数值出现的个数_百度经验 --这里介绍了两种解决方式,用第一种https://jingyan.baidu.com/article/9113f81b2c16822b321 ...
- 使用excel 数据透视表画图
① 打开Excel,选中需要制表的数据,点击“插入”->“数据透视表” ② 出现下列对话框,点击“确定” ③ 再新的“sheet”表内对“数 ...
随机推荐
- [bzoj3329]Xorque
首先将问题转化为2x^x=3x,那么相当于让x右移一位和原数的1不相交,即不含有相邻的1,第一个问题可以直接数位dp,第二个问题可以类似dp+矩乘优化即可 1 #include<bits/std ...
- [noi34]palindrome
分割实际上就是不断地从两端取出一样的一段,并对剩下的串进行分割.下面我们来证明一下每一次贪心取出最短一段的正确性: 考虑两种分割方式,分别表示成S=A+B+A和S=C+D+C,其中A就是最短的一段,那 ...
- [noi1760]SAM
建立SAM,求出每一个节点最左边的出现位置(即right集合中的最小元素,在树上dfs即可) 枚举左端点i和右端点j(保证j是最小的满足$s[i,j)$不是$s[0,i)$的子串),维护k表示$s[i ...
- SpringCloud微服务实战——搭建企业级开发框架(二十二):基于MybatisPlus插件TenantLineInnerInterceptor实现多租户功能
多租户技术的基本概念: 多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且 ...
- 学以致用 | Redis概念与简单实操
Redis概念 Redis是一个由C语言编写.基于key-value存储结构的开源NoSQL数据库,其读写速度为10万次/秒,这个速度已经远远大于传统的关系型数据库. 使用场景 在高并发的情况下,可将 ...
- R语言实战-Part 2笔记
R 语言实战(第二版) part 2 基本方法 -------------第6章 基本图形------------------ #1.条形图 #一般是类别型(离散)变量 library(vcd) he ...
- logname
logname命令用来显示用户名称. 语法 logname(选项) 选项 --help:在线帮助: --vesion:显示版本信息.
- hive向mysql导入数据sqoop命令出错
报错信息: java.lang.Exception: java.io.IOException: java.lang.ClassNotFoundException: info at org.apache ...
- day04:Python学习笔记
day04:Python学习笔记 1.算数运算符 1.算数运算符 print(10 / 3) #结果带小数 print(10 // 3) #结果取整数,不是四舍五入 print(10 % 3) #结果 ...
- Linux基础命令---slabtop
slabtop slabtop实时显示详细的内核板条缓存信息.它显示按所列排序条件之一排序的顶级缓存的列表.它还会显示一个统计信息头,其中填充了板坯层信息. 此命令的适用范围:RedHat.RHEL. ...