【函数应用】如何从事实表中动态提取维度表(UNIQUE)
创作者俱乐部成员
一、场景介绍
工作中常常需要发布日报、周报、月报,作为负责发布报表的同学,在进行数据分析中,可能需要分析如下维度:
零售行业如品类分析:蔬果、休闲、粮油、酒饮、肉禽
银行理财产品分类分析:保险、信托、基本、外汇、期货
省份、城市、门店三级维度钻取
等等
如果自己是该报表某个模块的具体负责人/业务/运营人员,则会非常熟悉自己所负责内容需要分析哪些维度,但实际工作中,往往分析的内容超出自己个人所负责的范围(需要对整个链路进行分析才能更好地找出问题和提升空间)
场景一
假如你是某淘宝店铺的分析人员,需要承担店铺整体数据分析,则你不仅仅要知道自己所负责的品类、商品的分析,还需要分析其他运营人员负责的内容,甚至还需要跨供应链、仓库进行分析,略微被动
场景二
公司目前处于高速扩张中,每周甚至每天都在开城,现在需要你作为运营/分析人员以城市维度对各城市的数据进行计算
一般情况下,那么当你导出原始数据(事实表)的时候,你需要通过删除重复项得出去重后的唯一值,或者使用数据透视表进行透视,再将透视后的数据粘贴成表,如此较为不变
二、案例解析
如图是一份零售库存分析表,请你分别对大类、中类、小类进行周转率、周转天数等进行分析,
问题一:请你使用函数计算有多少个大类?
计算每个大类的出现次数
我们在大类后插入空白列,输入=COUNTIFS($C$2:$C$40,C2),双击格式刷拉到底,可以得到每个大类在表格中的一共出现的次数
计算每次出现在总出现次数中的占比
用1除以合计出现的次数,就得到了每次出现在总出现次数中的占比,公式=1/COUNTIFS($C$2:$C$40,C2),输入后按回车,再双击格式刷拉到底
此时观察仔细的同学已经能注意到,占比的求和=7,我们用SUM函数对整列进行求和,就可以得到结果为7,也就是共有7个不重复的大类名称
一步到位
那么如果我们想在一个单元格内实现整个计算过程,此时输入
=SUM(1/COUNTIF(D2:D40,D2:D40)),并且用Ctrl+Shift+Entel三键,,即可完成整个结果
问题二:请你计算有多少个带“进口”的中类
计算每个带“进口”中类的出现次数
我们在大类后插入空白列,输入=COUNTIFS($D$2:$D$40,D2,$D$2:$D$40,"*进口*"),双击格式刷拉到底,可以得到每个带“进口”中类的出现次数
计算每次出现在总出现次数中的占比
用1除以合计出现的次数,就得到了每次出现在总出现次数中的占比
但此时我们会发现,必然会存在不带有“进口”的中类存在,导致分母为0,用1除以0产生错误值
此时我们在公式中增加IFERROR把错误值替换为0,完整公式=IFERROR(1/COUNTIFS($D$2:$D$40,D2,$D$2:$D$40,"*进口*"),0)
我们用SUM函数对整列进行求和,就可以得到结果为1,也就是共有1个不重复的带有“进口”的中类
一步到位
那么如果我们想在一个单元格内实现整个计算过程,此时输入
=SUM(IFERROR(1/COUNTIFS(D2:D40,D2:D40,D2:D40,"*进口*"),0)),并且用Ctrl+Shift+Entel三键,,即可完成整个结果
问题三:有哪些大类?提取不重复的大类作为维度
在工作中,例如这份商品清单,同样的商品可能在不同的销售渠道,不同的公司内部部门,会划分为不同维度进行管理,那么动态提取表格中的维度,比每次删除重复项,效率更高不且容易出错
本次使用函数UNIQUE对大类进行去重,提取唯一项
在大类后新建一列,由于UNIQUE产生的结果是数组,因此选中从D2:D20(根据日常经验选择放置的长度,太短会导致结果显示不完整)
输入公式
输入=UNIQUE,
数组指要提取的区域(案例中指C列的大类C2:C40)
按列 TRUE的含义是比较各列并返回唯一值,FALSE的含义是比较各行并返回唯一值,本次目的是对大类这一列中每行进行返回唯一值,因此比较的是各行,选FALSE,也就是0
仅出现一次 TRUE的含义是提取只出现过一次的值,而FALSE的含义是返回对所有不同行或者列,本次目的是去重,因此选FALSE,也就是0
本次案例中公式为=UNIQUE(C2:C40,0,1)
此时不可直接按回车键确定,否则结果只能展示在一个单元格,需要按Ctrl+Shift+回车三键结束
此时已完成提取大类中的唯一项,那么当选中的结果区域偏小时,末尾的结果不能正常展示,而选中范围过大时,则会出现#N/A
问题四:
由于日常分析常常是二维表,即横向和纵向都需要进行分析,那么假如现在需要把使用UNIQUE提取出的大类直接横向放置在分析区域,而不是每次使用复制再转置粘贴的方式放在分析区域,应当如何通过函数实现?
本案例所用文件【金山文档】 零售库存分析表(非真实企业数据)
创作者俱乐部大管家
创作者俱乐部成员