产品要开始做积分商城,商城中有一个签到功能,为了观察我们的核心用户(付费用户)连续登录的状况,我需要分析百万量级用户自注册起14天内连续登录的数据,其中最难的一部分就是分析连续登录2天、3天、4天一直到10天的用户有多少。
我们的数据是这样的:(讲道理,你看你也闹心。。。)

登录为1,未登录为0.累计登录非常好计算,只要求和就好,但连续登录就比较麻烦。
我在吃了一顿中午饭之后,补充了能量,回来毅然决然(作死)用了这样的方法:
对于连续登录两天的用户,他们一定至少有一个连续的两天的状态值加起来等于2;对于连续登录三天的用户,他们一定至少有一个连续的三天的状态值加起来等于3……以此类推。这是个笨方法,但当时着急的我依然用了这种自杀式的方法,最终虽然拿出了领导要的数据,但是直接导致这个excel文件达到了140多M……
好了下面给大家看看这个笨方法的做法具体是怎样的。以连续登录两天的用户为例,如果在这14天的数据里,任意连续两天的登录状态也就是任意两个连续的单元格值加起来都不等于2,那他一定是没有连续登录过两天。公式是这样的:=IF(OR(B2+C2=2,C2+D2=2,D2+E2=2,E2+F2=2,F2+G2=2,G2+H2=2,H2+I2=2,I2+J2=2,J2+K2=2,K2+L2=2,L2+M2=2,M2+N2=2,N2+O2=2),"1","0")
1的意思是如果判断为真,也就是这个人连续登录过两天,就显示1,反之显示0。
写完公式之后按ctrl+shift+enter。

连续三天的数据就是判断连续三个单元格的和是不是等于3,连续四天就是4……
但是要说明一下,这个筛选出来的连续登录两天的数据是包括连续包括3天、4天、5/6/7/8天的。要想筛选出仅仅连续登录两天的用户,就要在筛选的时候把连续两天这列筛选条件定为“等于1”&把连续三天这列筛选条件定为“等于0”。以此类推。
连续更多天登录的公式我就不举例啦,毕竟,我懒……
啊如果谁那里有更好的解决方法请一定一定要告诉我啊~~~~~
网友评论