如何统计合并单元格里的数据

来源:互联网 发布:自己知为知己可以 编辑:程序博客网 时间:2024/04/28 02:42
同样的话再重复一遍,阅读此方法之前,建议先去阅读前面提及的BOSS技能:
《※ 如何往合并单元格的空单元格里写入数据》
 
了解了前面的写入数据技巧,其实要统计就跟在普通二维表进行统计是一回事。
如果不想浪费时间,那就只能将错就错咯……
 
回到常识性的一点问题,在Excel里,如果是要用于统计的数据区域,是最最不建议使用“合并单元格”的,使用了合并之后,会给后续的统计或者计算带来重重麻烦,没有函数基础的人,基本上没有办法处理合并后的数据。
比如下图的两个表格,要统计中间的结果,有什么差别?你都能处理吗,怎么处理?

漫谈Excel里的单元格与合并单元格


显然右边的标准一维表,才适合我们统计和分析,而左边的表只适合“看”……
而往往很多人就要追求视觉上的美丽,然后就开始折腾,折腾自己还不够,还要折腾别人。漫谈Excel里的单元格与合并单元格

想要处理合并单元格的值,很多时候是用LOOKUP函数返回内存数组,但显然是绕了一条很大的弯路。
比如说,上图左右丙个表格,如果要统计中间A、B的数量总和,各自的方法就不是有点差异,而是天壤之别。
 
对于左边的合并单元格来说,在不拆分的前提下,就必须要用LOOKUP函数返回内存数组,如:
=LOOKUP(ROW($2:$7),IF(A$2:A$7<>"",ROW($2:$7)),A$2:A$7)
 
加个小插曲,什么叫“内存数组”呢?这有什么了不起的么?
简单点说,就是在计算过程中能生成固定不变的常量数组,并保存在内存里。
最简单的验证方法,就是将这公式放到单元格里,然后在编辑栏里选中全部抹黑,再按F9,你就可以看到尤如你选中单元格区域,然后按F9一样的效果,所以这是非常有用和难得的。
 
返回中间没有空值的内存数组之后,再用SUMPRODUCT比较并求和,需要的公式如下:
=SUMPRODUCT((LOOKUP(ROW($2:$7),IF(A$2:A$7<>"",ROW($2:$7)),A$2:A$7)=D4)*B$2:B$7)
 
而相对于右边的非合并的一维表格,则不费吹灰之力了,而这个却对合并区域起不了作用:
=SUMIF(G:G,D4,H:H)
 
-----------------------------------
 
这一章节主要想讲的就是LOOKUP生成内存数组的用法,上面的公式是对于合并单元格的“通式”,所以记住了之后,下次就可以直接套用或者定义成名称使用,问题是菜鸟是记不住的,^_^
 
所以,不得不告诉你,上面两种表格的计算方式,孰难孰易显而易见,因此你更应该(再)去看看前面章节讲到的BOSS技能《※ 如何往合并单元格的空单元格里写入数据》,那才是处理Excel合并单元格数据的正道、王道!
 
 
 
合并单元格探讨系列主题,欢迎指正:
  •  如何在合并单元格里保留数据源 
  •  ※ 如何往合并单元格的空单元格里写入数据[BOSS技能]
  •  如何对合并单元格进行筛选 
  •  如何批量合并相同内容的单元格 
  •  如何根据首值批量填充空白单元格 
  •  如何在合并单元格区域汇总数 
 
 
如何统计合并单元格里的数据

0 0
原创粉丝点击