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

2020-12-17 09:56:16 浏览数 (1)

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

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

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

然后按快捷键【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就可以了,然后再更改格式。

代码语言:javascript复制
IF(A2<>"",AVERAGE(OFFSET(B2,0,0,IFERROR(MATCH("*",A3:A$991,0),1)))," ")

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

【总结】

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

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

0 人点赞