易表在线答疑技术与交流用户社区 → 能否这样查找筛选


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

主题:能否这样查找筛选

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


加好友 发短信
等级:新手上路 帖子:272 积分:264 威望:0 精华:0 注册:2006/9/18 9:22:00
能否这样查找筛选  发帖心情 Post By:2006/10/28 16:57:00 [只看该作者]

要求表1“工资”列的数据,通过公式从表2对应“职务”、“任职年限”、“工作年限”筛选并填入。该公式如何设置?请老师、高手们指点。谢谢!egd文件下载

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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2006/10/28 19:42:00 [只看该作者]

用这个函数试试?
FindText()
在指定的表、指定的列中查找指定内容,并返回符合条件的行中指定列的内容。
FindText(Grid,Col,CompareCol,CompareMode,CompareValue,......,Position)

Grid        在表中进行查找,可以用表名表示,也可以用位置表示。
Col         返回该列的内容,可以用列名称表示,也可以用位置表示。
CompareCol  进行比较的列,可以用列名称表示,也可以用位置表示。CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值
Position     这个参数决定返回第几个符合条件的行的数据,如果省略,则返回第一个符合条件的行,如果设为-1,则返回最后一个符合条件的行。

例子:
FindText("订单","数量","客户","=","CS01")
返回订单表中CS01客户的第一个订单的订购数量。

FindText("订单","日期","客户","=","CS01",-1)
返回订单表中客户CS01最后一次下订单的日期。

FindText("订单","数量","客户","=","CS01","产品","=","PD01")
返回订单表中CS01客户第一次订购产品PD01的数量 。

FindText("订单","数量","客户","=","CS01","产品","=","PD01",2)
返回订单表中CS01客户第二次订购产品PD01的数量 。


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


加好友 发短信
等级:新手上路 帖子:272 积分:264 威望:0 精华:0 注册:2006/9/18 9:22:00
  发帖心情 Post By:2006/10/28 22:35:00 [只看该作者]

再顶一下

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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2006/10/28 23:14:00 [只看该作者]


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


加好友 发短信
等级:论坛游民 帖子:17 积分:0 威望:0 精华:0 注册:2006/9/7 22:51:00
  发帖心情 Post By:2006/10/29 7:20:00 [只看该作者]

楼上smileboy版主的文件替楼主规范了一下格式,像工作年限、任职年限这种数字概念的列尽量不要含字符。但是表1工资列刷新公式中的工作年限直接对应表2的工作年限数值及列名,公式是简单了,不过局限性大。我下面的文件不改变原年限数字与字符混用的形式,不增加辅助列,公式中不涉及表2的工作年限数值及列名,优点是适用性、扩展性好,缺点是公式复杂,可读性差(这也是目前易表的缺点),我不作解释的话,恐怕大多数人不易看懂。若楼主暂时不能理解其中的公式,建议还是用smileboy版主的文件,本文件仅作换一种思路的参考。egd文件下载
公式提示:用ListCols取得工作年限列名列表,用Substitute去字符和组成判断工作年限的逻辑表达式集合,用Eval求出一组逻辑值,然后用Find得到工作年限列位移,填入FindText的Col。同样,用ListFor取得任职年限列表,用Substitute去字符和组成判断任职年限的逻辑表达式集合,用Eval求出一组逻辑值,然后用Find得到任职年限行位移,填入FindText的Position。比较列就是职务了。

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


加好友 发短信
等级:新手上路 帖子:272 积分:264 威望:0 精华:0 注册:2006/9/18 9:22:00
  发帖心情 Post By:2006/10/29 15:12:00 [只看该作者]

谢谢版主!谢谢兰花草先生!先生真是诲人不倦,不但给我做出公式,还对公式的每个转折点进行解释,我非常感激,再次表示衷心感谢!
我来认真学习消化一下。

 回到顶部