打卡第十六天:
一、统计函数中的subtotal
1、subtotal是一群函数,也是函数中唯一一个统计可见单元格的函数。函数公式如下:
=subtotal(选择要使用函数的序号代码,使用函数的区域)
2、subtotal中的1~11函数,计算结果包含手动隐藏的值;而101~111之间的函数计算结果忽略手动隐藏值,只对显示的单元格求值。
3、subtotal只对筛选结果求和(相当于自动隐藏);
sum不受筛选结果影响,会对所有数据求和。
如,=subtotal(9,B2:B8)=180
=sum(B2:B8)=280
说明:B2:B8之间有进行筛选,subtotal中的9代表求和函数sum。
4、subtotal的计数
2-count:统计数字个数
3-counta:统计非空单元格个数
5、筛选后填充:
对产品序号使用subtotal,在产品筛选后,产品序号仍然连续。
=subtotal(3,$B$2:B2)
说明:3代表counta,B2为产品名称开始的单元格。
在筛选第二个产品时,最后一行会出现第一个产品,那是因为subtotal默认最后一行为汇总行,对公式乘1就可以避免次现象了。
=subtotal(3,$B$2:B2)*1
6、避开同类计算:
对含有小计行的区域求和汇总时,用subtotal可以避开同类(即小计行的求和函数sum)进行计算,而不会重复合计小计行。
二、统计函数countif和countifs
1、基本用法:
①常用统计个数的函数:
count:计算参数列表中数字个数
counta:计算参数列表中非空单元格个数
countblank:计算参数列表中空单元格个数(包括真空单元格、假空单元格,如=“ ”)
=countif(计数区域绝对引用,计数条件)
=countifs(计数区域1,计数条件1,计数区域2,计数条件2…)
②几个特殊符号用法:
统计文本单元格个数:
=countif($A$2:$A$10,"*")
统计非空单元格个数:
=countif($A$2:$A$10,"<>")
统计真空单元格个数:
=countif($A$2:$A$10,"=")
2、应用:
①按产品统计序号:
=countif($B$2:B2,B2)
要生成产品序号,可以用产品与序号相结合:
=产品在单元格&产品序号
直接生成:
=产品在单元格&countif($B$2:B2,B2)
②一对多查询:
根据条件区的某产品(如,在F2单元格的A产品)在某区域(如,A1:D15)中找到符合结果区域中条件的结果:
第一步:在源表最前面A列建立辅助列:
=$F$2&countif($C$2:C2,C2)
拖动生成以A为首的产品数字序列;
第二步:选中结果区域,再输入:
=IFERROR(VIOOKUP($F$2&ROW(A1),$A$1:$D$15,column(B1),0)," ")
最后按下ctrl+enter
③与数据有效性结合:
a、某区域不能录入重复姓名:
选中~数据有效性~允许:自定义~来源中输入:
=countif($A$2:$A$8,A2)=1
b、只允许输入以A开头的文本:
输入公式=countif(F2,"A*")=1