分享

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

 Excel办公实战 2021-06-29
年底了,又是一年回顾了!这不,需要把全年会议情况统计一下!

于是我收到了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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多