首先,来看一下原始数据。a列是美化表格使用的合并单元格(a2:a9区域),b列是a列内容对应的明细,需要在c列在每次a列名称第一次出现的时候显示a列合并单元格所占行数。
双击c2单元格,输入公式:
=if(a2<>"",match("*",a3:a$10,),"")
将c2单元格向下填充到到c9,这样c列就返回了想要的结果。
如果读者在自己表格中根据上述公式做示例,可能会在最后一个单元格出现错误值,如下图所示:
解决方法:
在a列数据下面的一个单元格,本例是a10单元格,输入一个空格或者其他字符,这样是为了使match()函数在最后一个判断时有匹配结果,从而避免错误值。
下面来解释一下公式用法。
首先来说一下match()函数。match函数的语法是这样的:match(要匹配的单元格,要匹配单元格所在的数组,第三参数)。该函数返回第一参数在第二参数里是第几个,如下图说明:
然后看一下=match("*",a3:a$10,)的用法。
这个是match()函数的通配符用法,其中的“*”代表任意字符。在c2输入该公式,返回结果的意义是:从a3起的a3:a$10区域,第一个不是空的单元格是第几个。也就是a列下一个不为空的单元格,其实也就是距离下一个单元格的空单元格数,也就是a2合并单元格所占行数。
外面嵌套if()函数是为了使a列是空白的时候b列也显示空白。具体如下图c3单元格:
c3=if(a3<>"",match("*",a4:a$10,),"")
有两种方法。
一、直接将鼠标滑动并框住你需要的数据。如下图所示,显示16r*1c。说明共有16个,但这种方法仅限于数据较少的表格,但要在庞大的Excel表格中统计个数时,使用该方法反而不合适。
二、如果要统计同样的数值时,建议使用Excel表格中带有的countifs函数。
1、首先单击电脑桌面菜单,打开Excel表格。
2、如下图所示,Excel表格中有一些数字,仔细观察后发现其有相同的数字。这时我们就可以使用countifs函数了。点击函数,选择countifs函数,出现以下页面。第一个方框需要你选定你想统计的范围,第二行是你统计数据时的条件。比如你想统计这列数字中有多少1,那么你就在CRiterial中填1;以此类推。
3、如果你觉得数据统计的个数还不够详细、缜密的话,可以试着附加更多的条件,使数据统计更清晰、更明确。