数据统计,多数Excel用户首选数据透视表。易学易用,统计功能强大!
但数据透视表不是万能的,限于固定的布局,有很多统计都很难完成,比如含有很多零值的行算平均。
而有一个万能统计函数,它可以完成数据透视表大分部功能,数据透视表无法实现的,它也可以实现。它就是:
如下图所示产品销售明细表

现需要根据单元格H1和H2的年月份,自动生成一个下面统计面板:

分析:在统计需求中,很多是数据透视表无法或很难完成的。而且这么多数据,如果都用单独的数据透视表来完成,是很不方便的。而Sumproduct函数却可以完成统大部分统计。
根据H1的年份计算本年累计销售额
=SUMPRODUCT((YEAR(A2:A182)=H1)*E2:E182)
公式说明:用year函数提取A列的年份和H1对比,然后用sumprodcut对符合条件的值进行求和

根据H1的年份和H2的月份数计算本月累计销售额
=SUMPRODUCT((YEAR(A2:A182)=H1)*(MONTH(A2:A182)=H2)*E2:E182)
公式说明:原理同公式 1,只是增加了月的对比

动态统计出本月统计了多少天
=SUMPRODUCT((YEAR(A2:A182)=H1)*(MONTH(A2:A182)=H2)*(B2:B182<>""))
公式说明:根据A列的年和月,统计出B列非空单元格个数。
本月平均=H5/H6

返回明细表中最后一天有数据的日期,以方便后面公式引用
=LOOKUP(1,0/(B2:B173<>""),A2:A173)
公式说明:这里使用了经典lookup(1,0/(条件),返回区域) ,返回最后一个符合条件的值。

统计最近30天的销售额之和
=SUMPRODUCT(((A2:A182)>=H9-30)*E2:E182)
公式说明:大于等30天前的日期(H9-30)作为条件,用sumprodcut统计出符合条件E列的和
最近30天平均=H10/30

返回最后一天销售金额,以备计算排名用
=LOOKUP(1,0/(D2:D173<>""),E2:E173)
公式说明:原理同计算最后一天日期

本日销售在全年的排名
=SUMPRODUCT((YEAR(A2:A182)=YEAR(H9))*(E2:E182>H12))+1
公式说明:用sumproduct函数统计出本年销售额大于今日销售额的天数,+1后就是本日排名

本日销售在本月的排名
=SUMPRODUCT((YEAR(A2:A182)=YEAR(H9))*(MONTH(A2:A182)=MONTH(H9))*(E2:E182>H12))+1
公式说明:原来同公式7,只是增加了月份判断

最后:从本文可以看出,Suprouct函数无论是求和、计数,还是计算排名都非常方便。
| 留言与评论(共有 0 条评论) |