如何给被计数的单元格添加条件
在制作报表过程中,可扩展单元格需要被统计的需求还是很普遍的。一般情况下,可以使用count函数去统计扩展单元格个数,用法也有很多种,例如:count(A1:B10,false) 表示以当前格为基格计算A1和B10之间总共有几个单元格,如果单元格的值为空则不进行计数; count(B1{}) 表示求得当前主格扩展区域内所有扩展后的B1单元格的个数。
如何对扩展单元格统计单元格个数的同时添加条件,例如:一共一百条数据,只查询id大于五十的数据共多少条。如果用count函数去实现可以用select函数根据条件先选出要统计的数据,然后用count函数统计。本文简单介绍一下如何用query函数去实现这个功能。
第一步:制作报表;
预览效果:
如图所示:A2单元格查询出所有雇员ID。
第二步:制作参数,统计条件过滤后的雇员ID;
将A2单元格中过滤出ID大于5的数据,并且在E2单元格中分别统计雇员ID大于A2单元格所示雇员ID的的雇员个数。
在F2单元格中写:=query(‘select count(*) from 雇员 where 雇员.雇员ID>?’,A2)
函数说明:
执行sql语句,返回结果数据集合,只能返回单列数据,如果sql语句中有多个字段,则返回第一个字段的结果值。
语法:
sql(sqlStatement{,arg1{,arg2{,arg3{,……}}}})
query(sqlStatement{,arg1{,arg2{,arg3{,……}}}})
参数说明:
sqlStatement 合法的sql语句
arg(n) sql语句的参数,可以是常数也可以是表达式
返回值:
一组数据的集合,数据类型由sql语句的第一个选出字段决定
示例:
例1:query(“select name from employee where sex=?”,”1″)
表示从employee表中选出sex=”1″的记录,返回其name字段值
预览效果如下: