Excel中能熟练地掌握函数的技巧,在水文日常工作中能达到事半功倍的效果。例如:要计算A1:An(定义:data)区域中非零的单元格的平均值,可在单元格中输入=sum(data)/countif(data, "<>0")。下面具体介绍Countif()函数的高级技巧如下: 一、求各种类型单元格的个数
所求类型单元格公式说明
真空单元格=COUNTIF(data1,"=") 
真空+假空单元格=COUNTIF(data1,"")相当于countblank()函数
非真空单元格=COUNTIF(data1,"<>")相当于counta()函数
文本型单元格=COUNTIF(data1,"*")假空单元格也是文本型单元格
区域内所有单元格=COUNTIF(data1,"<>""") 
数字型单元格=COUNT(data1)不是countif(),这里顺便点一下。
备注:data1为用户定义单元格区域,如用户把a1:d50区域定义为data1,以下data2、data3、data4、data5类同data1,也为用户定义的单元格区域。
二、求大于或小于等于某个值的单元格个数
所求内容 公式
大于50 =COUNTIF(data2,">50")
等于50 =COUNTIF(data2,50)
小于50 =COUNTIF(data2,"<50")
大于或等于50 =COUNTIF(data2,">=50")
小于或等于50 =COUNTIF(data2,"<=50")
大于E21单元格的值 =COUNTIF(data2,">"&$E$21)
等于E21单元格的值 =COUNTIF(data2,$E$21)
小于E21单元格的值 =COUNTIF(data2,"<"&$E$21)
大于或等于E21单元格的值 =COUNTIF(data2,">="&$E$21)
小于或等于E21单元格的值 =COUNTIF(data2,"<="&$E$21)
三、求等于或包含某N个特定字符的单元格个数
所求内容 公式
两个字符 =COUNTIF(data3,"??")
两个字符并且第2个是B =COUNTIF(data3,"?B")
包含B =COUNTIF(data3,"*B*")
第2个字符是B =COUNTIF(data3,"?B*")
等于“你好” =COUNTIF(data3,"你好")
包含D38单元格的内容 =COUNTIF(data3,"*"&D38&"*")
第2字是D38单元格的内容 =COUNTIF(data3,"?"&D38&"*")
备注:countif()函数对英文字母不区分大小写
  四、不连续区域求个数
所求内容公式
三个区域中>=60=SUM(COUNTIF(INDIRECT({"a1:a10","b2:b20","c3:c30"}),">=60"))
三个区域中=70=SUM(COUNTIF(INDIRECT({"a1:a10","b2:b20","c3:c30"}),70))
三个区域中<60=SUM(COUNTIF(INDIRECT({"a1:a10","b2:b20","c3:c30"}),"<60"))
五、两个条件求个数
所求内容 公式
>10并且<=15 =SUM(COUNTIF(data4,">"&{10,15})*{1,-1})
>=10并且<15 =SUM(COUNTIF(data4,">="&{10,15})*{1,-1})
>=10并且<=15 =SUM(COUNTIF(data4,{">=10",">15"})*{1,-1})
>10并且<15 =SUM(COUNTIF(data4,{">10",">=15"})*{1,-1})
>10并且<=15 =COUNTIF(data4,">10")-COUNTIF(data4,">15")
六、数据的有效性验证  

  首先,选择要设置有效性验证区域(如:A1:A100,定义为:data5)中的任一单元格(假设为:A1),在excel工作表中,用鼠标依次点击菜单栏数据→有效性菜单命令,打开“数据有效性”对话框,在“允许”下拉按钮中设置有效性条件为“自定义”,在“公式”框中输入 =COUNTIF(data5,A1)<2,然后,复制A1单元格,选中除A1外的所有单元格(A2:A100),用鼠标依次点击编辑→选择性粘贴命令→粘贴→有效性验证。这样即实现了数据data5区域中不重复的验证条件。

更多推荐

excel 在一列中查找某个值的出现次数 countif函数