今天逛知乎发现了这个问题,为何Excel数据透视表不能直接计算中位数(值字段设置)?但是却可以计算平均数和方差之类的。
这是一个好问题,按照常人理解求中位数比方差简单多,方差要计算一大堆公式。方差公式:S^2=1/n[(x1-m)^2+(x2-m)^2+.......+(xn-m)^2]
中位数与平均数方差最明显的区别就是排序,然后再找到中间的数据。如果是偶数,还需要取中间2个数的平均值。
先通过一个简单的例子了解中位数:找出这组数据:23、29、20、32、23、21、33、25 的中位数。首先将该组数据进行排列(这里按从小到大的顺序),得到:因为该组数据一共由8个数据组成,即n为偶数,故按中位数的计算方法(23+25)/2=24,得到中位数,即第四个数和第五个数的平均数。在Excel中,可以通过Excel函数Median统计一组数的中位数。数据透视表确实没有中位数的汇总依据,如需要中位数显示在透视表上,可通过添加辅助字段的方法求得。这里我们需要求不同部门的工资中位数,可以通过输入公式:=MEDIAN(IF($B$2:$B$64=B2,$E$2:$E$64))这是个嵌套函数,由于公式包含数组,输入公式后,需要按下Ctrl+shift+Enter结尾。
选择数据,插入数据透视表,在行标签放置【部门】【姓名】,值区域放置【工资】和【部门中位数】。值字段的汇总依据均需要改为平均值,如果插入组合图,可以呈现出如下:根据【部门】【月份】求出其中的工资中位数,这里可以使用2个IF嵌套,公式为:=MEDIAN(IF([部门]=[@部门],IF([月份]=[@月份],[工资])))
因为数据源提前转化为超级表,公式中出现[部门][月份]表示该标题下该列内容,[@部门][@月份]表示所在行对应该列的单元格内容。这是也是嵌套函数,由于公式包含数组,输入公式后,需要按下Ctrl+shift+Enter结尾。同样插入数据透视表和图表后,可以呈现该可视化如下:
由于辅助列统计某特定需求的中位数,透视表行标签字段需要与中位数条件对应起来。
如部门的工资中位数,那么行区不应放置月份字段,应该是部门的字段。
中位数的条件,与透视表的条件需要对应起来。(行区、筛选区的字段)
数据透视表是本人录制并售卖的第一门课程,如今已经过了3年有余,为感谢老学员的支持,于2022年11月对内容做了一次大更新。老同学能直接登录网易云课堂学习哈~
数据透视表作为Excel中必学的功能,推荐大家系统学习,学员们都反馈能明显提高数据分析效率。重磅更新,经典重铸
数据透视表分为10章节,一共56课时,累计时长350分钟,分为获取数据源、四大区域、组合、汇总依据、排序筛选、图表可视化等重要功能。
许多同学参加我的课程,主要是奔着我的课件,数据,可视化来的。所以,课件必须给大家安排上。网易云课堂有系统私信自动发送课件链接,也可添加我的微信:Excel_1994 享受一对一辅导答疑。
运营月报▲
疫情数据看版▲