excel实用技巧:if函数和dcounta函数的组合应用
1、 if函数的作用介绍:
判断某个条件是否满足,满足则返回逻辑值true或者表达式或者引用,不满足返回逻辑值false或表达式或者引用。
它有三个参数,参数1是判断条件,参数2是真值,参数3是假值

2、 dcounta函数的作用介绍:
返回数据库或数据列表中指定字段满足条 件的非空单元格数目。写法如下:dcounta(database,field,criteria)。
database:列表或组成数据库的单元格区域。
field:函数指定的数据列。
criteria:函数指定的条件,不指定就是列下的所有数据。

3、 举例得出某数学老师在一次考试后全班数学的教学质量,判断条件是全班及格人数要达到70%。
那么逻辑如下:
先得出全班数学考试及格的人数,使用DCOUNTA函数,函数如下:=DCOUNTA(A1:E7,"数学",A9:A10)。
需要注意的是,field参数也可以使用字段所在的列位置表示,写法如下:=DCOUNTA(A1:E7,5,A9:A10)。效果是一样的。

4、 使用另一个函数counta,得出全班人数。
函数如下:=COUNTA(A1:A7)-1,counta函数的作用是返回某区域非空单元格的个数,本例中减去1是为了排除字段标识。

5、 最后使用if函数进行判断,大于70%,返回优秀,否则返回不达标。
函数组合应用如下:=IF((DCOUNTA(A1:E7,"数学",A9:A10)/COUNTA(A1:A7)-1)>=0.7,"优秀","不达标"),得出结果是不达标,经检验,符合实际计算。

6、 该函数组合其实是不完美的,如果某学生缺席考试,那么成绩为空,而DCOUNTA函数得到的又是非空单元格的个数,这样会造成计算结果不精确。
那么,我们把field引用成姓名列,就可以解决问题了,函数如下:=IF((DCOUNT(A1:E7,1,A9:A10)/COUNTA(A1:A7)-1)>=0.7,"优秀","不达标")

