用SUBTOTAL函数,这是功能强大的分类汇总统计函数
语法
SUBTOTAL(function_num, ref1, ref2, ...)
Function_num 为 1 到 11(包含隐藏值)或 101 到 111(忽略隐藏值)之间的数字,指定使用何种函数在列表中进行分类汇总计算。
Function_num(包含隐藏值) Function_num(忽略隐藏值) 函数
1 101 AVERAGE
2 102 COUNT
3 103 COUNTA
4 104 MAX
5 105 MIN
6 106 PRODUCT
7 107 STDEV
8 108 STDEVP
9 109 SUM
10 110 VAR
11 111 VARP
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!。
用SUBTOTAL函数,这是功能强大的分类汇总统计函数
语法
SUBTOTAL(function_num, ref1, ref2, ...)
Function_num 为 1 到 11(包含隐藏值)或 101 到 111(忽略隐藏值)之间的数字,指定使用何种函数在列表中进行分类汇总计算。
Function_num(包含隐藏值) Function_num(忽略隐藏值) 函数
1 101 AVERAGE
2 102 COUNT
3 103 COUNTA
4 104 MAX
5 105 MIN
6 106 PRODUCT
7 107 STDEV
8 108 STDEVP
9 109 SUM
10 110 VAR
11 111 VARP
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!。
excel做筛选,已有足够的功能,并不需要使用函数。
例如下面就是三种方法:
1.数据--筛选
2.数据--分类汇总
3.数据--透视表
筛选统计其实最简单的方法就是用数据透视表,不会破坏原数据表
Excel中提供了强大的筛选功能,其中“自动筛选”用于条件简单的筛选操作,且符合条件的记录只能显示的在原有的数据表格中,不符合条件的记录将自动隐藏。若要筛选单元格中含有指定关键字的记录,被筛选的多个条件间是“或”的关系,需要将筛选的结果在新的位置显示出来(便于两个表的数据比对),筛选不重复记录等等,“自动筛选”就显得有些无能为力了。“高级筛选” 你可用过?如果熟练使用,能满足许多日常办公所需,从而大大提高我们的工作效率。
一、筛选含有特定字符的记录
比如我们要查找姓“陈”的所有员工记录,可按下面的步骤进行。
如图1所示,在数据区域外的任一单元格(如B17)中输入被筛选的字段名称“姓名”,在紧靠其下方的B18单元格中输入筛选条件“陈*”。
依次单击“数据”菜单中的“筛选”,选择“高级筛选”命令,弹出“高级筛选”对话框,选择筛选方式中的“将筛选结果复制到其他位置”单选按钮。将“列表区域”设置为“$A$1:$F$15”,“条件区域”设置为“$B$17:$B$18”,“复制到”设置为“$A$20:$F$20”,单击“确定”按钮,系统会自动将符合条件的记录筛选出来并复制到指定的从A20开始的单元格区域中(如图2所示)。
小提示:如果在图1的B18单元格中输入筛选条件“*陈”可筛选名字中含有“陈”字的员工记录(即“陈”字不一定是名字中的第一个字,该字可在名字中的任意位置)。
二、筛选空白数据
现在我们来查找没有职称员工的记录,可按下面的步骤进行。
如图3所示,在数据区域外的任一单元格(如E17)中输入被筛选的字段名称“职称”,在紧靠其下方的E18单元格中输入筛选条件“<>*”。
打开“高级筛选”对话框,选择筛选方式中的“将筛选结果复制到其他位置”单选按钮。将“列表区域”设置为“$A$1:$F$15”,“条件区域”设置为“$E$17:$E$18”,“复制到”设置为“$A$20”,单击“确定”按钮,系统会自动将符合条件的记录筛选出来并复制到指定的从A20开始的单元格区域中(如图4所示)。
小提示:在本例中,如果要筛选的字段是数值型的,则需要将筛选条件更改为“=”(直接输入“=”号后按回车)。反过来,如果要筛选职称为非空的员工记录,只需将图3的筛选条件改为“*”即可。如果指定的筛选字段是数值型字段,则输入筛选条件“<>”。
三、多字段多条件同时满足
有时候,需要查找的结果要满足多个条件,比如查找性别为男性、年龄不低于30岁,职称字段中含有“工程师”关键字的员工记录等,这也难不倒我们。
如图5所示,在数据区域外的任一单元格区域(如A17:C17)中输入被筛选的字段名称“性别”、“年龄”和“职称”,在紧靠其下方的A18:C18单元格区域中分别输入筛选条件“男”、“>=30”和“*工程师”。
打开“高级筛选”对话框,选择筛选方式中的“将筛选结果复制到其他位置”单选按钮。将“列表区域”设置为“$A$1:$F$15”,“条件区域”设置为“$A$17:$C$18”,“复制到”设置为“$A$20”,单击“确定”按钮,系统会自动将符合条件的记录筛选出来并复制到指定的从A20开始的单元格区域中(如图6所示)。
通过本例大家会发现,如果将筛选条件输入在同一行中,筛选时系统会自动查找同时满足所有指定条件的记录并将其筛选出来。
小提示:如果想查找所有字段值都是非空的员工记录,只需将指定的筛选条件文本型用“*”,数值型用“<>”,并将这些筛选条件输入在同一行中即可。
四、多字段多条件只需符合其一
情况是多变的,如果要查找年龄不低于30岁,职称为“高级工程师”的员工记录,又该怎么操作呢?
如图7所示,在数据区域外的任一单元格区域(如A17:B17)中输入被筛选的字段名称“年龄”和“职称”,在紧靠其下方的A18:B18单元格区域中分别输入筛选条件“>=30”和“高级工程师”。
打开“高级筛选”对话框,选择筛选方式中的“将筛选结果复制到其他位置”单选按钮。将“列表区域”设置为“$A$1:$F$15”,“条件区域”设置为“$A$17:$B$18”,“复制到”设置为“$A$21”,单击“确定”按钮,系统会自动将符合条件的记录筛选出来并复制到指定的从A21开始的单元格区域中(如图8所示)。
通过本例大家也不难发现,如果将筛选条件输入在不同的行中,筛选时系统会自动查找只需满足所给条件之一的记录并将其筛选出来。
在以上所有的筛选操作中,如果想使筛选结果不重复,只需选中“高级筛选”对话框中的“选择不重复的记录”复选框再进行相应的筛选操作即可。
假如查找年龄大于25小于60的员工
则如图