今天实习制作了一个检测电商业务指标峰值点的看板,用的工具是Excel。
原数据形式如下:红框圈选的是目标指标,绿色虚线框圈选的是收入类指标,所有数值均为虚构。当业务指标增长幅度超过4%时记其为峰值点,记录对应SPU名称、当日日期、收入指标值变化情况,监测指标值变化情况。
格式如:【0531】监测指标由?%(前一日值)-?%(当日值),收入指标由?k(前一日值)-?k(当日值)。
看板的数据处理部分如下。在判断增幅的时候我们需要解决单元格无法连续定位的问题。在橘色区域SPU之间是连续行,但在原数据中SPU不是连续行,那么除非对橘色区域里的每一个单元格单独编写公式,否则使用下拉操作填充公式是无效的。在公司业务涉及极多SPU时,使用偏移量能够快速解决定位问题。
从SPU1的监测值开始,每往下偏移4行就是下一个SPU的监测值。也就是说橘色区域5月23日第二个格(蓝色框)应该记录的增幅可以通过向左偏移9列(取当日/23号监测值)和向左偏移10列(取前一日/22号监测值)得到。
图中红框公式如下:
=IF(ROUND(OFFSET(M4,M4,-9),3)-ROUND(OFFSET(M4,M4,-10),3)>=0.004,1,0)
图中蓝框公式如下:
=IF(ROUND(OFFSET(M5,M5,-9),3)-ROUND(OFFSET(M5,M5,-10),3)>=0.004,1,0)
横向公式可以通过修改列偏移量得到,也可以通过固定偏移参考位置得到。图中绿框公式如下:
=IF(ROUND(OFFSET(N4,M4,-9),3)-ROUND(OFFSET(N4,M4,-10),3)>=0.004,1,0)
完成判断增长模块后加入返回对应日期模块,为自动生成格式记录做准备。
从日期到自动生成记录使用的函数如下:
=IF(T4<>0,CONCAT("【",T4,"】","整体由",ROUND(OFFSET(M4,$M$4,-10)*100,1),"%-",ROUND(OFFSET(M4,$M$4,-9)*100,1),"%,",ROUND(OFFSET(M4,$M$4-2,-9)/1000,1),"k-",ROUND(OFFSET(M4,$M$4-2,-10)/1000,1),"k"),0)
好长一串啊
首先是IF函数三大块,重点来到返回了日期,也就是IF函数中True的情况,是一个concat函数,将各部分字符串连接起来,得到最终的格式输出。
CONCAT("【",T4,"】","整体由",ROUND(OFFSET(M4,$M$4,-10)*100,1),"%-",ROUND(OFFSET(M4,$M$4,-9)*100,1),"%,",ROUND(OFFSET(M4,$M$4-2,-9)/1000,1),"k-",ROUND(OFFSET(M4,$M$4-2,-10)/1000,1),"k")
round函数就不细说了,OFFSET和前文的道理一样。最后隐藏掉中间过程,加上条件单元格,得到监控看板如下: