易表在线答疑技术与交流用户社区 → 如何统计花名册的姓名包含“杜”这个字的人的总数


  共有7570人关注过本帖树形打印复制链接

主题:如何统计花名册的姓名包含“杜”这个字的人的总数

帅哥哟,离线,有人找我吗?
glrwb3
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:33 积分:547 威望:0 精华:0 注册:2012/10/23 17:11:00
如何统计花名册的姓名包含“杜”这个字的人的总数  发帖心情 Post By:2016/10/7 21:54:00 [只看该作者]

设计一个表格,遇到一个问题,就是如何统计花名册“姓名”列包含某一特定字符的人的总数。我使用CountFor函数,姓名等于某某的我会写,CountFor("主表","姓名"=","杜军" )
可是我要写一个姓名中包含“杜”的人数统计呢?请老师指导。

 回到顶部
帅哥哟,离线,有人找我吗?
glrwb3
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:33 积分:547 威望:0 精华:0 注册:2012/10/23 17:11:00
  发帖心情 Post By:2016/10/7 22:40:00 [只看该作者]

我这样写为什么不对啊。CountFor("主表",Instr("杜",[姓名])>= 0)
搜出来的数字是人员总数,与姓什么没有关系,太奇怪了。
[此贴子已经被作者于2016/10/7 22:43:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
iyplx2425
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2016/10/8 8:17:00 [只看该作者]

设置变量[%杜%]:peft([姓名],2),再用CountFor("主表",[%杜%],"=","杜" )试试看。


 回到顶部
帅哥哟,离线,有人找我吗?
iyplx2425
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2016/10/8 8:18:00 [只看该作者]

是left([姓名],2)……

 回到顶部
美女呀,离线,留言给我吧!
dancedy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2721 积分:4555 威望:0 精华:0 注册:2011/5/12 17:20:00
  发帖心情 Post By:2016/10/8 16:27:00 [只看该作者]

CountFor(GridName,"姓名","instr","杜")

 回到顶部
帅哥哟,离线,有人找我吗?
glrwb3
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:33 积分:547 威望:0 精华:0 注册:2012/10/23 17:11:00
[求助][讨论]  发帖心情 Post By:2016/10/9 22:59:00 [只看该作者]

求教,这里的instr函数是什么用法?
在易表帮助里面显示:
返回指定字符串在另一个字符串中首次出现的位置。
Instr(Text1, Text2)
Text1和Text2都是字符型,在Text2中查找Text1,并返回其位置。
注意:第一个字符的位置为0,第二个为1,其余类推。

那么
CountFor(GridName,"姓名","instr","杜")
这里的instr是如何使用的,是不是其他公式都有类似的使用方法?谢谢
[此贴子已经被作者于2016/10/9 22:59:54编辑过]

 回到顶部
美女呀,离线,留言给我吧!
dancedy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2721 积分:4555 威望:0 精华:0 注册:2011/5/12 17:20:00
  发帖心情 Post By:2016/10/10 9:13:00 [只看该作者]

Countfor

对指定表统计符合条件的记录数,可以设置多个条件。
Countfor(Grid,CompareCol,CompareMode,CompareValue,......,StartRow,EndRow,Option)
Grid         对该表进行统计,可以用表名表示,也可以用位置表示。
CompareCol   进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。(在这里Instr和等号一样,只是比较方式,并非为单独函数)
CompareValue 比较值
StartRow     可选参数,指定开始计算的行。
EndRow       可选参数,指定结束计算的行。
Option       可选参数,如果设为1,则不统计隐藏行

例子:
Countfor("订单","客户","=","CS01")
统计订单表中CS01客户的订单数。

Countfor("订单","客户","=","CS01","产品","=","PD01")
统计订单表中CS01客户订购产品PD01的订单数 。

Countfor("订单","折扣",">","0.1","产品","=","PD01")
统计订单表中以超过10%的折扣销售产品PD01的订单数。


 回到顶部
帅哥哟,离线,有人找我吗?
glrwb3
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:33 积分:547 威望:0 精华:0 注册:2012/10/23 17:11:00
[求助]  发帖心情 Post By:2016/10/10 12:06:00 [只看该作者]

谢谢版主,你的回答相当有水平,学习中,受益很大。另外我再提2个问题:
1、列的名称不是都有[]框在其中的吗?比如姓名这一列,引用的时候一般是[姓名],可是为什么在countfor()公式中却列全部用""框在其中,这有什么说法吗?谢谢。
2、易表中有列表项目可以做下拉菜单进行选择,可这是单项的选择,比如性别非男即女,可是如何设计出,可以同时选择男或女(假设)的呢?其实就是多选,这个如何实现。
[此贴子已经被作者于2016/10/10 12:07:44编辑过]

 回到顶部
美女呀,离线,留言给我吧!
dancedy
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2721 积分:4555 威望:0 精华:0 注册:2011/5/12 17:20:00
  发帖心情 Post By:2016/10/10 15:13:00 [只看该作者]

第一个问题

 

"列名"——要进行比较的列,或者指定的列,并非指某一个值

"CS01"——指"CS01"这个值

例如: Countfor("订单","客户","=","CS01")  统计订单表中客户列为CS01的订单数

 

[列名]——指的是指定列中当前行的值

例如当前行客户名为CS02,那么

Countfor("订单","客户","=",[客户])   意思是统计订单表中客户列为CS02的订单数

[此贴子已经被作者于2016/10/10 15:15:43编辑过]

 回到顶部
美女呀,离线,留言给我吧!
dancedy
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2721 积分:4555 威望:0 精华:0 注册:2011/5/12 17:20:00
  发帖心情 Post By:2016/10/10 15:15:00 [只看该作者]

第二个问题

 

下拉列表项目只能选择一项内容,如果要做成多选的效果就要考虑其他的方法,

具体你可以根据需求做个例子文件,再看看能不能弄或者用什么方法


 回到顶部