回复 tianti 的帖子
Excel中Countif()函数运用技巧
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区域中不重复的验证条件。 关于=COUNTIF(F6:N6,"*")的相关问题:本人在用到公式=COUNTIF(F6:N6,"*")时,出现错误,我在所选的区域内(有M、#、*、和数字1、0),在用公式求*个数时,所得个数为非数字相加之和,而分别求M、#、*、1、0个数时得出的个数是正确的,同样的公式为什么求出不同的结果,很是郁闷,请各位帮忙!! 本来想把表考上,但考不上来。 "*"代表除数字外的任何符号,包括两个以上的符号、字符如“#”、“#¥”、“#222”、“B1”、以及以文本方式出现的数码“123”等的通配符,但不代表数字,包括以1.00E+12这样的方式表示的数字;所以解决与*号匹配的问题时,要在*号前加~符号,即“~*”仅代表*号。公式改为 =COUNTIF(F6:N6,"~*")即可。
|