Excel透视表虽强大,却搞不定财年日期|附纯手工打造的方法

在数据分析当中,日期维度的处理是必不可少的,通常在系统里导出来的数据,都是只有一列日期的字段,但是我们在分析中,经常还需要 年度季度月度这样的维度,这样的日期维度层次很方便我们对数据进行逐层探索。

如果导出来是上图这样的数据,上图中的A列便是日期维度的数据,但是怎么出来 年度季度月度这样的维度?

插入3列?分别用函数计算年、季、月?

这个方法可以,但暂时没必要。最方便的办法,当然是直接生成透视表,Excel 2013以上自动就能帮你 组合成年、季、月这样的日期维度。如果是Excel 2013以下,则需要手工操作“组合”,具体操作如下:

这个非常方便吧!

但是那是因为还没遇到-- 财年,如果你想按财年的数据进行探索分析,这个时候怎么办呢?这就是本文要解决的问题了。

例如阿里巴巴,就是每年的4月1日是财年的起始日,下图就是在自然日期 2019年5月15日,阿里发布的 2019财年报告的封面。

为什么2019年5月,就发布了2019财年的报告了?因为对于阿里来说,2019财年,对应的自然周期就是: 2018年4月1日2019年3月31日

基于阿里的财年,再拿些日期举例子,方便大家先理解逻辑,这是我们写公式的基础~:

若你是要按照财年等维度去分析数据的话,透视表的 日期组合功能,就不能直接满足你的需求了。

怎么办呢?

这时其实可以直接在数据源当中,手工去用函数计算去增加财年等日期维度了。(透视表没法直接搞定,只能退回去搞数据源了~)

如下的演示均以 4月1日为每财年起始日,且以上图中的A2单元格的自然日期为计算对象,大家参考着去更改灵活使用即可。

财年

=YEAR(A2) + IF(MONTH(A2)>=4,1,0)

逻辑:自然日期所在的月份数,如果大于等于财年的起始月份,则 财年数 = 自然年份数+1 ,否则就是等于自然年份数。

所以就先算出日期所在的月份数,再与财年起始月去比较,再决定是否要加1。很简单的一个公式,当然理解清楚逻辑,才是我们写公式的基础。

财季

=CHOOSE(MONTH(A2),4,4,4,1,1,1,2,2,2,3,3,3)

逻辑:财季还真的不太好算,所以用了最笨的方法,把所有的财季数都列出来,再根据自然日期所在的月份数去选择即可。

没明白,为什么是这样的数字排序?直接看下图:

ps:CHOOSE函数是基于索引号,从后面的列表中返回对应的值。如= CHOOSE(2,"男","女")返回的值就是

财月

=CHOOSE(MONTH(A2),10,11,12,1,2,3,4,5,6,7,8,9,)

逻辑:财月同样不太好算,所以继续用最笨的方法,把所有的财月数都列出来,再根据自然日期所在的月份数去选择即可。

没明白,为什么是这样的数字排序?直接看下图:

总结一下, 写函数的基础是要先理解逻辑, 最笨的办法其实不笨!反而是最简单的思路,也能非常灵活地调整和更改!

最后

通过上面的公式,在数据源中手工增加日期维度后,就得到以下这样的数据源了:

然后再用这个数据源,去做成透视表,即可以按财年的相关维度去分析数据了~

好的,今天的文章就到这里,希望能帮助到有需要的朋友~

---------------------返回搜狐,查看更多

阅读 ()
平台声明
该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。