老手可以直接关掉了,肯定都是贼溜的了
我入行的时候,最怕领导在群里问:"***的同比环比数据怎么样?"
我那时候手里只有各种销售流水表,要算出不同品类不同商品的同比增长、环比增长,当时是先各种筛选同月/上月的数据,复制到旁边,再写公式除一下。品类商品很多很多,眼睛都搞花了,还经常搞错月份。
后来是我当时的组长教的我怎么用Excel公式,快速搞定。今天我把这套方法分享出来,直接复制公式就能用。
先搞清楚定义:同比和环比到底怎么算
最简单的记法:
同比 = (今年本月 / 去年同月 - 1)*100%
环比 = (本月 / 上月 - 1)*100%
举个简单的例子。现在有一张销售流水表,日期跨度2年,A列是日期,B列是品类,C列是销售额。领导想看每个品类每个月的同比环比,你怎么做?
第一步:数据整理成标准格式
公式再好用,数据格式不对会做无效功。先把原始流水表处理成下面这样:
关键就一点:要有"年月"字段。在D列加一个辅助列,公式这样写:
=TEXT(A2,"yyyy-mm")
这样2025/7/15就会变成"2025-07",后续用做匹配使用。
第二步:SUMIFS汇总出月度数据
流水表不能直接算同比环比,先按月份汇总。用SUMIFS,比数据透视表灵活。
假设汇总表放在F列到J列,F2写年月,G2写品类。销售额汇总公式:
=SUMIFS(销售流水!$C:$C,销售流水!$D:$D,$F2,销售流水!$B:$B,$G2)
SUMIFS的好处是条件随便加。你想增加维度按门店、按区域、按渠道拆分,后面追加条件就行。
第三步:环比公式,拖一下就能出数
汇总表有了,环比就好办了。月份按顺序排好,H列是销售额,I列写环比:
=IFERROR(H3/H2-1,"-")
公式往下拖,整列的环比全出来了。首月没上月数据,IFERROR会返回"-",表格不会报一堆错。
不过要注意:月份数据要按年月排好序,不然环比结果都是错的。
第四步:同比公式,稍微复杂一点点
同比要拿今年本月和去年同月比,本质上就是条件查找。继续用SUMIFS组合:
=IFERROR(H2/SUMIFS($H:$H,$F:$F,TEXT(EDATE(F2&"-01",-12),"yyyy-mm"),$G:$G,G2)-1,"-")
EDATE(F2&"-01",-12) 是算出去年同月的日期,再转成"yyyy-mm"格式,然后去匹配同品类的销售额。
容易踩到的坑
坑一:数据里有负数或零。
销售额退货时出现负数时,环比公式会算出奇葩的结果。可以加一层判断:
=IFERROR(IF(H2<0,"-",H2/H1-1),"-")
另外要确认下计算逻辑,退款负数是否参与核算,不参与核算的话可以提前清除,或者辅助列修正销售额,if(销售额<0,0,销售额):
坑二:同比公式匹配不到数据。
去年同月要是没有这个品类的记录,SUMIFS返回0,除零报错,表格上一堆的报错码,奇丑。可以使用IFERROR包一下,表格干干净净。
坑三:月份格式不统一。
"2025-7"和"2025-07"在Excel眼里是不一样的数值。所以前面TEXT那一步不能省,要统一格式"yyyy-mm",一定要统一成两位月份。
实操建议
这套方法我用了一个月就熟练掌握了,最大的感受就是:公式是死的,思路是活的。
先把数据格式统一,再用SUMIFS做汇总,最后套同比/环比公式。三步走,什么业务场景都能套,门店业绩、品类销售、会员消费、商品销售,逻辑一模一样。
假设再熟练一些,使用”有效性“序列,配合公式,想看什么数据就选什么条件,更加高效。