ITPub博客

首页 > 数据库 > 数据库开发技术 > 年底了,领导让我统计这样的销量,怎么办?

年底了,领导让我统计这样的销量,怎么办?

原创 数据库开发技术 作者:猴子数据分析 时间:2020-12-15 21:00:00 0 删除 编辑


【面试题】下面左表是项目对应的销量,需要把同一项目的销量在合并单元格里计算出销量总额及平均值(实现右表这样的效果)



方法一:如果不规定显示的格式,可以把项目这一列的合并单元格拆分成每一行都显示项目,然后使用数据透视表汇总得到销量总额,同理得到销量平均值,如下图所示:



具体操作步骤是,先选中所有的合并单元格,然后按【合并后居中】按钮,把合并的单元格都拆分。



然后按快捷键【ctrl+G】用定位功能找到空白单元格,在A3单元格里输入公式【=A2】,同时按【ctrl+enter】即可批量填充空白单元格,再选中整个表格,插入数据透视表即可。


动态过程演示如下图



方法二:如果规定了显示格式,也就是销量总额和销量平均值要和项目的合并单元格格式一致,结果要像下表这样:



如何实现这样的效果呢?


可以使用函数先计算,然后再处理格式。


在C2单元格里写上以下公式:

【=IF(A2<>"",SUM(OFFSET(B2,0,0,IFERROR(MATCH("*",A3:A$1000,0),1)))," ")】



这个公式看起来复杂,不要害怕,我们一起来看下里面包括的内容。


1)MATCH公式



结果意义:从A3起在A3:A$10000区域里,第一个不是空的单元格是第几个,也就是A2合并单元格所占行数即是A项目所占的行数,同理得到B,C,D等每个项目所占的行数。


2)IFERROR公式


3)OFFSET公式:


4)IF与SUM公式:



将公式下拉填充后得到的以下结果:



再把A列的格式复制到C列,动图演示如下:



如果再想求每个项目的平均值,则把公式的SUM函数改成AVERAGE就可以了,然后再更改格式。


IF(A2<>"",AVERAGE(OFFSET(B2,0,0,IFERROR(MATCH("*",A3:A$991,0),1)))," ")


最终结果如下,是不是很酷。



【总结】


1.计算合并单元格时,可以把合并的单元格拆分然后再用数据透视表功能汇总。


2.也可以使用MATCH,IFEEOR,OFFSEN,SUM,IF等公式嵌套得到结果,再粘贴格式,和原文格式显示保持一致。



推荐:人人都需要的数据分析思维


原文作者:猴子数据分析;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2017-01-16

  • 博文量
    865
  • 访问量
    345554