易表在线答疑技术与交流用户社区 → [求助]如何设置按钮公式筛选出存在“交集”的行


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

主题:[求助]如何设置按钮公式筛选出存在“交集”的行

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


加好友 发短信
等级:论坛游民 帖子:135 积分:291 威望:0 精华:0 注册:2006/11/8 19:56:00
[求助]如何设置按钮公式筛选出存在“交集”的行  发帖心情 Post By:2012/1/16 15:58:00 [只看该作者]

表中不同行有的存在交集有的不存在交集,求助设置一按钮公式,能够筛选出表中存在共同交集的行,并按共同交集行的顺序排列。详例见附件,排序后如表2,谢谢。egd文件下载

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


加好友 发短信
等级:超级版主 帖子:5115 积分:862 威望:0 精华:0 注册:2006/8/15 16:57:00
  发帖心情 Post By:2012/1/16 16:47:00 [只看该作者]

没能看出规律!还是结合文件描述详细些吧...

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


加好友 发短信
等级:论坛游民 帖子:135 积分:291 威望:0 精华:0 注册:2006/11/8 19:56:00
  发帖心情 Post By:2012/1/16 17:02:00 [只看该作者]

表中第三列各行是由不同的名称组成,相互间用分隔符“|”隔开,第三列部分行存在着“交集”,如第1行与第4行都包含“d、f”。我的要求是设置一个按钮公式能够将表中的诸如1、4行有着交集的行筛选出来,没有交集的行就不显示,排列如表2,

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


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

表中第三列各行的字符都有那些?是否就现在的情况(小写英文字母、和阿拉伯数字)

-=-=-=- 以下内容由 wjq10722012年01月16日 05:35pm 时添加 -=-=-=-
如果是的话,也有36个字符的一一对比!

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


加好友 发短信
等级:论坛游民 帖子:135 积分:291 威望:0 精华:0 注册:2006/11/8 19:56:00
  发帖心情 Post By:2012/1/16 21:13:00 [只看该作者]

表中第三列各行的字符代表公司名、人名。为了简单起见示例中用字符及数字代替。

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


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


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


加好友 发短信
等级:论坛游民 帖子:35 积分:80 威望:0 精华:0 注册:2011/6/4 17:54:00
  发帖心情 Post By:2012/1/18 12:45:00 [只看该作者]

這樣高效些:

增一"重叠"字符型辅助列

ReplaceFor("表1","重叠","") And EvalFor("表1","第三列","""|"" [第三列] ""|""") And EvalFor("表1","第三列","If(Eval(""if(FindRow(""""表1"""",""""第三列"""",""""Instr" """,""""|"" Substitute(Substitute(Substitute(Eval(""Substitute(""""|@|#|"""",""""|"""",""" """ Substitute(Mid([第三列],1,Len([第三列])-2),""|"","""""") """"|"""" Substitute (""""|@|#|"""",""""|"""","""""") """""")""),""|""," "|"""",""""重叠"""",""""="""",""""""""), if(FindRow(""""表1""" ",""""第三列"""",""""Instr"""",""""|""),""@"",""|"""",2)> 0,ReplaceFor(""""表1"""",""""重叠"""",""""""),""#"","""""",""""第三列"""",""""instr"""",""""|"") ""|"""",""""重叠"""",""""=" """,""""""""),True "" Rept("")"",1 Len(Mid([第三列],1,Len([第三列])-2)) -Len(Substitute(Mid([第三列],1,Len([第三列])-2),""|"","""")))),Mid([第三列], 1,Len([第三列])-2),Mid([第三列],1,Len([第三列])-2))") And Do(112) And FilterFor("重叠", ">" ,"") And SortCol("表1","第三列",1) And SortCol("表1","重叠",1)


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


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

[这个贴子最后由wjq1072在 2012/01/18 05:43pm 第 1 次编辑]

这样试试?
AddCol(Grid,"p",1, False ) And EvalFor(Grid,"p","Eval(""If(Instr(""""""+Substitute(Substitute(Eval(""Substitute(""""|@|"""",""""|"""",""""""+Substitute([第三列],""|"","""""")+""""|""""+Substitute(""""|@|"""",""""|"""","""""")+"""""")""),""@"","""""",[第三列])>-1,If(CountFor(Grid,""""第三列"""",""""Instr"""",""""""),""|"","""""")>1,1,0),0)+If(Instr("""""")+"""""")>1,1,0),0)"")") And FilterFor("p"," > ",0) And DeleteCol(Grid,"p")

egd文件下载


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


加好友 发短信
等级:论坛游民 帖子:135 积分:291 威望:0 精华:0 注册:2006/11/8 19:56:00
  发帖心情 Post By:2012/2/2 12:54:00 [只看该作者]

上述公式太复杂了。仍就上述问题,求助:如何设一录入窗口,输入客户名称时能够筛选出存在“交集”关联的行,如附件中,在录入窗口中输入"g",即筛选出第一、第三行,因为这二行的“关联信息”中都含有“n”。egd文件下载

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


加好友 发短信
等级:论坛游民 帖子:135 积分:291 威望:0 精华:0 注册:2006/11/8 19:56:00
  发帖心情 Post By:2012/2/3 8:57:00 [只看该作者]

版主帮忙啊,谢谢了。

 回到顶部
总数 28 1 2 3 下一页