excel日期 函数「这个日期问题差点难倒我了还好我会这么多Excel函数」
这天老板找我干活,我居然差点没做出来(这一句在正文里建议删除)。
当然了,是差一点点没做出来!想知道什么问题么?来瞧瞧?
业务场景是这样的,某项产品的注册用户,需要统计一下3个月后的存活情况。系统调取的数据如下(当然这里老王为了说明问题简化了数据,原始数据涉及到具体业务,有将近10万条)。
这里是2018年1月至2019年2月的注册用户数与活跃用户数。举个例子,以序号4-6这三行,统计的是2018年3月
在利用Excel做数据处理时,日期的处理是非常常见的一块任务。
这天老板找我干活,我居然差点没做出来(这一句在正文里建议删除)。
当然了,是差一点点没做出来!想知道什么问题么?来瞧瞧?
业务场景是这样的,某项产品的注册用户,需要统计一下3个月后的存活情况。系统调取的数据如下(当然这里老王为了说明问题简化了数据,原始数据涉及到具体业务,有将近10万条)。
这里是2018年1月至2019年2月的注册用户数与活跃用户数。举个例子,以序号4-6这三行,统计的是2018年3月的注册用户数是4(4 0 0),而该月的活跃用户数是8(2 3 3),这个活跃用户数分别是1月注册的2个,2月注册的3个,3月注册的3个。
现在要求的是2018年1月以来每月的注册用户,在3个月后的活跃占比。以1月为例,统计月的注册用户数是4,而在3个月后,也就是统计月份是4月的活跃用户数是1。所以活跃占比就是25%。
听起来有点绕口,其实也就是如果能做个辅助列,标出注册统计月份是否是注册月份的M 3月份。也就是下面这个效果。在辅助列能判断出来,然后筛选TRUE就是需要的注册月的活跃用户数了。
这个要怎么做呢?
难点是这里的两个日期都是不标准的,哎!不标准的日期害死人啊!
不过我们这样想,不标准的不好处理,那我们处理成标准的。那么这两个如何处理成标准呢?下面的骚操作大家注意了,小心闪到腰了。
处理统计月份只需要乘以1,就变成了这个月的第一天,恩,标准的日期。
处理注册月份呢?先用TEXT处理成统计月份一样的格式,然后嘿嘿嘿!
现在两个都是标准日期,要判断是不是相差3个月,岂不是很简单!
不要告诉我两个日期相减判断是否大于90!!!
更不要告诉我两个日期相减判断是否大于3!!!
这里如果你学过DATEDIF,可以判断两个日期的月份差值是不是3。
当然如果你学过其他的日期也可以,比如EDATE,可以把注册月份向后推3个月。
当然如果你愿意,可以把上面的步骤组成到一起做成一个嵌套公式。
至于统计活跃占比,分子分母分开统计再做除法嘛!
利用透视表,先统计每个月的注册用户数,这里需要统计月份和注册用户两个字段。
然后再统计每个月注册的用户在3个月后的活跃数,这里需要注册月份和活跃用户数两个字段,再加上上面做的这个是否M 3筛选TRUE。
因为2018年12月的3个月后是2019年3月,所以上图右表的注册月份只到201811.
然后就是把数据放到一起求个占比就好了。而且这个占比肯定不会超过100%的哦。
上面的方法看起来有点复杂,主要是做完了辅助列后需要做两个透视表,是不是可以直接用函数得到两组数据呢?
也就是直接在右表中写公式直接得到结果。可不可以呢?咱们来试一试咯!
注册用户数很简单,用SUMIFS就好了,但是需要注意,条件列应该是左表中的统计日期。由于两个日期不一样,需要用TEXT处理成一致格式的。
M 3活跃数也很简单,不过条件有两个,注册月份是当前对应的,而统计月份是注册月份 3。由于日期不规范,所以这里处理有点麻烦。
这里统计月份对应的条件略复杂,先用TEXT把要求的注册月份处理成能使用EDATE的标准日期,然后再用TEXT处理成统计月份这种格式。
第一种方法步骤略多,但是理解起来稍微简单一些。
第二种方法步骤简单些,但是函数公式复杂一些,需要能灵活应用这些函数。
总结一下这个问题看起来不复杂,但其实里面所涉及到的函数还是相当丰富。
比如TEXT函数,不仅可以把不规范日期处理成规范格式,还可以把规范日期处理成不规范的样子;
比如DATEDIF这个隐藏函数,学过日期函数的话对这个比较熟悉,但是没学过也没关系。可以用EDATE把注册日期前进3个月;
另外还有这种1*的技巧,还是需要一点积累才能想到的,虽然完全可以用其他方法(你能想到什么方法么?)。
除了以上的方法,你还能想到其他办法么?欢迎 交流!
文章评论