如何给被计数的单元格添加条件

在制作报表过程中,可扩展单元格需要被统计的需求还是很普遍的。一般情况下,可以使用count函数去统计扩展单元格个数,用法也有很多种,例如:count(A1:B10,false) 表示以当前格为基格计算A1B10之间总共有几个单元格,如果单元格的值为空则不进行计数; 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语句的第一个选出字段决定

示例:

1query(“select name from employee where sex=?”,”1″)

表示从employee表中选出sex=”1″的记录,返回其name字段值

预览效果如下: