EXCEL 如何统计多个行数

如图片所示,表格中有很多大类,每一类下都有多个货号,现在我想统计没一类的货号数量,例如,BS类共7款,现在我只能是人工去数,或者每一类都用前后行号去减,我想请教一下有没有更方便的方法可以得到各类的款数?

1.首先,来看一下原始数据。A列是美化表格使用的合并单元格(A2:A9区域),B列是A列内容对应的明细,需要在C列在每次A列名称第一次出现的时候显示A列合并单元格所占行数。

2.双击C2单元格,输入公式:

=IF(A2<>"",MATCH("*",A3:A$10,),"")

3.将C2单元格向下填充到到C9,这样C列就返回了想要的结果。

4.如果自己表格中根据上述公式做示例,可能会在最后一个单元格出现错误值,如下图所示:

5.解决方法:

在A列数据下面的一个单元格,本例是A10单元格,输入一个空格或者其他字符,这样是为了使MATCH()函数在最后一个判断时有匹配结果,从而避免错误值。

6.下面来解释一下公式用法。

首先来说一下MATCH()函数。MATCH函数的语法是这样的:MATCH(要匹配的单元格,要匹配单元格所在的数组,第三参数)。该函数返回第一参数在第二参数里是第几个,如下图说明:

7.然后看一下=MATCH("*",A3:A$10,)的用法。

这个是MATCH()函数的通配符用法,其中的“*”代表任意字符。在C2输入该公式,返回结果的意义是:从A3起的A3:A$10区域,第一个不是空的单元格是第几个。也就是A列下一个不为空的单元格,其实也就是距离下一个单元格的空单元格数,也就是A2合并单元格所占行数。

8.外面嵌套IF()函数是为了使A列是空白的时候B列也显示空白。具体如下图C3单元格:

C3=IF(A3<>"",MATCH("*",A4:A$10,),"")

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-30
既然你用的是透视表
自然应该知道有汇总,就有计数, 透视表里对货号进行计数就可以了

另外公式方法:

假设 E1为 BS, C列为货号, F1统计BS的个数:
=countif(C:C,E1&"*")追问

公式的方法,能区别前边的波段吗,现在这个公式是直接统计一列里所有的bs,我这一列下边还有其他波段的BS想要区分开,

追答

当然可以
不用countif,也有其他的公式可以搞定,
你能说清楚,我就能写出来
qq 1052974911

追问

就是右边的这个小表格,我想要至少大类、款量、总数,这三列可以公式直接取值。

 

追答

波段那列选中 有数据的范围-------F5 ---定位条件---空值---依次输入 = ↑ 按 ctrl+enter
假设波段在F列,大类为G列, 数量为H列,总数 I列
如果用的2007 数量 : 可以用sumifs: I 列公式 =sumifs(D:D,A:A,F1,C:C,G1&"*")
2003 公式: =sumproduct((A$2:A$1000=F1)*(LEFT(C$2:C$1000)=G1)*D$2:D$1000)

H列公式 : =countifs(D:D,A:A,F1,C:C,G1&"*")
2003 : =sumproduct((A$2:A$1000=F1)*(LEFT(C$2:C$1000)=G1))

本回答被提问者和网友采纳
第2个回答  2012-07-01
在分类汇总里有计数的选项,打上勾即可
第3个回答  2015-08-22
高手已经作答,来晚了一步。