EXCEL SUBTOTAL 函数 筛选

班级
男 女
班级 序号 姓名 性别
1 1 常龙 男
1 2 陈俊坤 男
1 3 陈思钰 女
1 4 陈喻韬 男
1 5 邓仪 女
1 6 邓敏 女
1 7 董相龙 男
2 1 白滢滢 女
2 2 曹邦麟 男
2 3 陈诚 男
2 4 陈科宇 男
2 5 成思维 男
自动筛选后可以直接显示男女总数 最好班级也可以自动修改,谢谢
补充下,按班级自动筛选以后要求分别显示男女人数

SUBTOTAL函数的定义:

返回列表或数据库中的分类汇总。通常,使用“数据”菜单中的“分类汇总”命令可以容易地创建带有分类汇总的列表。一旦创建了分类汇总,就可以通过编辑 SUBTOTAL 函数对该列表进行修改。

语法

SUBTOTAL(function_num, ref1, ref2, ...)

Function_num    为 1 到 11(包含隐藏值)或 101 到 111(忽略隐藏值)之间的数字,指定使用何种函数在列表中进行分类汇总计算。

Ref1, ref2,   为要进行分类汇总计算的 1 到 29 个区域或引用。

说明

    如果在 ref1, ref2,… 中有其他的分类汇总(嵌套分类汇总),将忽略这些嵌套分类汇总,以避免重复计算。

    当 function_num 为从 1 到 11 的常数时,SUBTOTAL 函数将包括通过“格式”菜单的“行”子菜单下面的“隐藏”命令所隐藏的行中的值。当您要分类汇总列表中的隐藏和非隐藏值时,请使用这些常数。当 function_num 为从 101 到 111 的常数时,SUBTOTAL 函数将忽略通过“格式”菜单的“行”子菜单下面的“隐藏”命令所隐藏的行中的值。当您只分类汇总列表中的非隐藏数字时,使用这些常数。

    SUBTOTAL 函数忽略任何不包括在筛选结果中的行,不论使用什么 function_num 值。

    SUBTOTAL 函数适用于数据列或垂直区域。不适用于数据行或水平区域。例如,当 function_num 大于或等于 101 时需要分类汇总某个水平区域时,例如 SUBTOTAL(109,B2:G2),则隐藏某一列不影响分类汇总。但是隐藏分类汇总的垂直区域中的某一行就会对其产生影响。

    如果所指定的某一引用为三维引用,函数 SUBTOTAL 将返回错误值 #VALUE!。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-09-28
在数据下面空一行,比如有13行数据,就在第15行输入公式:
=SUBTOTAL(3,D2:D13)
这就是筛选结果的行数(符合筛选条件的人数).

筛选后"男"数量:
=SUMPRODUCT(SUBTOTAL(3,D2:D13)*(D2:D13="男"))
"女"数量:
=SUMPRODUCT(SUBTOTAL(3,D2:D13)*(D2:D13="女"))本回答被网友采纳
第2个回答  2008-09-28
b1显示班级名称,a3、b3分别统计男女生人数?

解决办法:
a3=IF($B$1="全年级",COUNTIF($D5:$D16,A2),SUMPRODUCT(($D5:$D16=A2)*($A5:$A16=$B$1)))
拉到b3;
b1=IF(COUNT(A5:A16)=SUBTOTAL(3,A5:A16),"全年级",SUBTOTAL(9,A5:A16)/SUBTOTAL(3,A5:A16))
相似回答