标签归档 EXCEL

通过davidpound

成绩统计之多sheet计数

成绩统计之多sheet计数 数组公式,是通过一定规律循环求值或统计的公式,例如=sum(if(a1:a17=0,1,0))可以统计a1到a17中,0的个数。注意与普通公式不同的是a1:a17=0这部分,这部分计算了17次,将a1到a17的17个位置挨个与0比对,如果是相等就返回1,如果不等就返回0。最后用sum将得到的值取和,就能 知道a1到a17中,0的个数。

数组公式需要按ctrl+shift+回车三键确认才有效,其有效的标志,是当你点选数组公式的单元格时,公式两端有{ }符号。有时直接回车也不会报错,但会产生一个错误的返回值。数组公式的应用很广,比如著名的身份证号码验证公式:=IF(RIGHT(f2,1)=MID(“10X98765432”,MOD(SUM(MID(f2,ROW(INDIRECT(“1:17”)),1)*2^(18-ROW(INDIRECT(“1:17″)))),11)+1,1),””,”错误”)

=SUM(COUNTIF(INDIRECT(ROW($1:$9)&”!A1:A101″),A3))

其他countif公式:

一、求各种类型单元格的个数
(1) 求真空单元格个数:=COUNTIF(数据区,”=”)
(2) 非真空单元格个数: =COUNTIF(数据区,”<>”) 相当于counta()函数
(3) 文本型单元格个数: =COUNTIF(数据区,”*”) 假空单元格也是文本型单元格
(4) 区域内所有单元格个数: =COUNTIF(数据区,”<>”””),如果数据区内有”,该公式不成立.
(5) 逻辑值为TRUE的单元格数量 =COUNTIF(数据区,TRUE)
二、求大于或小于某个值的单元格个数
(1) 大于50=COUNTIF(数据区,”>50″)
(2) 等于50=COUNTIF(数据区,50)
(3) 小于50 =COUNTIF(数据区,”<50″)
(4) 大于或等于50 =COUNTIF(数据区,”>=50″)
(5) 小于或等于50 =COUNTIF(数据区,”<=50″)
(6) 大于E5单元格的值 =COUNTIF(数据区,”>”&$E$5)
(7) 等于E5单元格的值 =COUNTIF(数据区,$E$5)
(8) 小于E5单元格的值 =COUNTIF(数据区,”<“&$E$5)
(9) 大于或等于E5单元格的值 =COUNTIF(数据区,”>=”&$E$5)
(10) 小于或等于E5单元格的值 =COUNTIF(数据区,”<=”&$E$5)
三、等于或包含某N个特定字符的单元格个数
(1) 两个字符 =COUNTIF(数据区,”??”)
(2) 两个字符并且第2个是B=COUNTIF(数据区,”?B”)
(3) 包含B =COUNTIF(数据区,”*B*”)
(4) 第2个字符是B =COUNTIF(数据区,”?B*”)
(5) 等于“你好”=COUNTIF(数据区,”你好”)
(6) 包含D3单元格的内容 =COUNTIF(数据区,”*”&D3&”*”)
(7) 第2字是D3单元格的内容 =COUNTIF(数据区,”?”&D3&”*”)
注:countif()函数对英文字母不区分大小写,通配符只对文本有效
四、两个条件求个数
(1)>10并且<=15 =SUM(COUNTIF(数据区,”>”&{10,15})*{1,-1}) 或者=SUM(COUNTIF(数据区,”<=”&{10,15})*{-1,1})
(2)>=10并且<15 =SUM(COUNTIF(数据区,”>=”&{10,15})*{1,-1}) 或者 =SUM(COUNTIF(数据区,”<“&{10,15})*{-1,1})
(3)>=10并且<=15 =SUM(COUNTIF(数据区,{“>=10″,”>15″})*{1,-1})
(4)>10并且<15 =SUM(COUNTIF(数据区,{“>10″,”>=15″})*{1,-1})或者=SUM(COUNTIF(数据区,{“>10″,”<15”}))-样本数
注:一般多条件计数使用SUMPRODUCT函数,以上方法较少使用,仅供参考。
补充:三个区域计数: 三个区域中>=60 =SUM(COUNTIF(INDIRECT({“a46:a48″,”b48:b50″,”c47:c48″}),”>=60″))
补充:(集合运算法)
统计范围,比如5<= x <=7
可以分解为(x>=5)-(x>7)
写为函数:
=countif(range,”>=5″)-countif(range,”>7″)
这样就可以利用集合的运算知识了。同样实现了上面两个条件求个数相同的目的,并且更简单易于理解。

特殊统计

五、各种特殊统计要求计算A2:A32 为存放数据的区域
(1)非空文本(仅包括可键入文本) =COUNTIF(A2:A32,”>=!”)
(2)所有非空文本 =COUNTIF(A2:A32,”>=!”)+COUNTIF(A2:A32,”>=”&CHAR(1))-COUNTIF(A2:A32,”>= “) 或 {=SUM(COUNTIF(A2:A32,”>=”&{“!”,” “})*{1,-1})+COUNTIF(A2:A32,”>=”&CHAR(1))}
(3)全部可见单元格 {=SUM(N(IF(ISERROR(A2:A32),1,SUBSTITUTE(A2:A32,” “,””))<>””))}
(4)有效可见单元格 =COUNTIF(A2:A32,”>=!”)+COUNTIF(A2:A32,”>=”&CHAR(1))-COUNTIF(A2:A32,”>= “)+COUNT(A2:A32)
(5)全部不见单元格(真空+空格+空文本) =COUNTIF(A2:A32,””)-COUNTIF(A2:A32,”>=!”)+COUNTIF(A2:A32,”>= “)
(6)空格 =COUNTIF(A2:A32,”>= “)-COUNTIF(A2:A32,”>=!”)
(7)空文本”” =COUNTIF(A2:A32,””)-COUNTIF(A2:A32,”=”)
(8)逻辑与错误 =COUNTIF(A2:A32,”<>”)-COUNTIF(A2:A32,”*”)-COUNT(A2:A32)

说明

EXCEL单元格内数据主要有以下几类:数值型,文本型,逻辑型,错误值型。其中时间类型也是一种特殊的数值。文本类型的数字是文本型。
空单元格:指什么内容也没有的单元格,姑且称之为真空。
假空单元格:指0字符的空文本,一般是由网上下载来的或公式得来的,姑且称之为假空。
date指单元格区域,该参数不能是数组