90%都被坑过的数据统计问题

年底了,又是一年回顾了!这不,需要把全年会议情况统计一下!
于是我收到了HR发过来的全年参会情况表!
数据源情况:大概这样的
但是领导想要的是这样的:每个人的参会情况
看到这个需求,新手瞬间就蒙了,这得一个一个人整理到什么时候?!
其实这一切的根源在于,我们的数据源不是一维表,导致我们没有办法进行后续分析,所以我们第一步就是要把数据源转成一维表!
这个需求我们使用逆透视来完成!当然如果你没有Power Query功能
可以使用我开发的模板!
扩展阅读:多维转一维通用工具
转一维表结构
1、点击数据区域任意位置,【数据】 - 【自表格/区域】,加载到PQ中
2、按住Shift,选择前两列,【转换】 - 【逆透视其他列】
3、右击 属性列 - 删除
4、把 值标题修改为姓名,加载到工作表中
有了一维表之后,什么分析都不是问题!
后续的处理有很多方法,我们先来看简单的处理方式!
合并处理
函数法 |  文本拼接方式TEXTJOIN
1、复制姓名列,删除重复值,得到唯一的姓名
2、使用TEXTJOIN函数处理
=TEXTJOIN(CHAR(10),TRUE,IF($A$2:$A$21=$F2,$B$2:$B$21&"/"&TEXT($C$2:$C$21,"m月d日"),""))
TEXTJOIN第三参数支持数组,大大增强了文本的处理功能!这应该是365公认的比较好用的函数!
如果自己的版本不支持TEXTJOIN的同学,可以使用WPS,目前WPS应该是更新了这个函数!
本文由“壹伴编辑器”提供技术支持
当然出了函数法,我们还有很多方法,比如我经常说的PQ这里也是非常好用的!
PowerQuery | 动态可更新
这里我们使用PQ中的一些基础操作,不涉及过多的M函数,对新手来说比较简单!
▼ 动画演示
1、选中 日期 和会议列,点击 【转换】- 【合并列】,选择分隔符,确定
2、选中 姓名 列,点 【转换】- 【分组】,【所有行】
3、稍微调整一下代码,使用TEXT.Combine函数合并每行内容
= Table.Group(合并的列, "姓名", {"参会情况", each Text.Combine([已合并],"#(lf)")})
本文由“壹伴编辑器”提供技术支持
当然除了以上玩法,如果你懂Power Pivot,我们还能继续玩!
PowerPivot | 度量值写法
参会情况统计度量值:

=IF(

HASONEVALUE(data[姓名]),

CONCATENATEX('data', 'data'[会议] &"/" & FORMAT('data'[日期],"m月d日")," ")

)

PowerPivot中的DAX函数非常的有趣,号称动态公式!对于Excel用户来说,初期会非常的不适应,且是一门理论重于实践的技术!在没有了解DAX运行原理之前,你很难写出正确的DAX公式,以后我们慢慢再谈!
本文由“壹伴编辑器”提供技术支持
以上都只是针对这个需求的写法!其实我们有了一维表,想做什么分析都很方便!
比如我们做一下每个人共参加了几次会议!
简单拉一下透视表即可!
其他维度的分析也是如此!如果你想让自己的工作更加顺畅,请保证有一份一维表数据源!

感谢(收藏、点赞、在看、转发),您的鼓励是小编不断创作的动力!

END

(0)

相关推荐