易表在线答疑技术与交流用户社区 → [求助]Eval公式


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

主题:[求助]Eval公式

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
[求助]Eval公式  发帖心情 Post By:2014/1/8 19:33:00 [只看该作者]

有如下自动格式公式: 

IF([" +ColName+ "] = "" And ([" +ColName+ "] =[红

1] Or [" +ColName+ "] = [红

2] Or [" +ColName+ "] =[红

3] Or [" +ColName+ "] =[红

4] Or [" +ColName+ "] =[红

5] Or [" +ColName+ "] =[红

6]),1,IF([" +ColName+ "] <> "" And ([" +ColName+ "] <>[红

1] And [" +ColName+ "] <>[红

2] And [" +ColName+ "] <>[红

3] And [" +ColName+ "] <>[红

4] And [" +ColName+ "] <>[红

5] And [" +ColName+ "] <>[红

6]),2,IF([" +ColName+ "] <> "" And ([" +ColName+ "] = [红

1] Or [" +ColName+ "] = [红

2] Or [" +ColName+ "] = [红

3] Or [" +ColName+ "] = [红

4] Or [" +ColName+ "] = [红

5] Or [" +ColName+ "] = [红

6]),3,"")))

请教:在使用Eval()函数时,能不能将上述公式中的绿色部分先作为尾部植入公式,再在植入的尾部后继续按头、中、 尾三个部分植入……,直到三个转换函数完成?

按上述思路,得到以下公式:

Eval("IF([" +ColName+ "] = """" And ([" +ColName+ "] = [红" +Substitute("1|2|3|4|5|6","|","Or [" +ColName+ "] = [红") + "]),1,IF([" +ColName+ "] <> """" And ([" +ColName+ "] <>[红" +Substitute("1|2|3|4|5|6","|","] And [" +ColName+ "] <> [红") + "]),2,IF([" +ColName+ "] <> """" And ([" +ColName+ "] = [红" +Substitute("1|2|3|4|5|6","|","] Or [" +ColName+ "] <> [红") + "]),3,"""")))")

但运行结果好像不对,请指教。

谢谢。


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


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

发文件上来看看?

列名称可以用ColName写成通用公式;而3个判断其中的1、2、3、4、5、6就不能再使用Eval写了(3个判断条件不同!)

[此贴子已经被作者于2014-1-8 21:35:48编辑过]

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:5566.egd


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


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

另外还有一个关于列名通用公式的问题。

Eval()函数运用中,类似[" +ColName+ "] =[红1] 这种情形,我们是把[" +ColName+ "] 作为[围红_]各列的通用公式来使用的,但公式会不会同时把[" +ColName+ "]指认为[红1]呢?因为[" +ColName+ "] 并没有特指是哪些列。


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


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

公式设置在哪一列,colname就代表当前列的列名

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


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

If([红1]="" And [红2]="" And [红3]="",5,

Eval("If(["+ColName+"]="""" And [红1] <> ColName(2) And [红2] <> ColName(2) And [红3] <> ColName(2),1,

If(["+ColName+"]="""" And ([红1]=ColName(2) Or [红2]=ColName(2) Or [红3]= ColName(2)),2,

If(["+ColName+"] <> """" And [红1] <> ColName(2) And [红2] <> ColName(2) And [红3] <> ColName(2),3,

If(["+ColName+"] <> """" And ([红1]=ColName(2) Or [红2]=ColName(2) Or [红3]= ColName(2)),4,""""))))"))

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:5566.egd


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
[求助]公式  发帖心情 Post By:2014/1/9 12:01:00 [只看该作者]

谢谢各位老师。

有两个问题请教:

1、["+ColName+"]与ColName(2)的使用区别在哪里?

2、式中[红1]、[红2]、[红3]不能用转换函数吗?如果[红]列很多的话,岂不公式会要写很长?

谢谢。


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


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

1、ColName 为的前列的全名称(**_a)"**_a";

2、ColName(2) 为的前列的第二层名称(**_a)"a"。

3、条件不同,不能使用Eval统一简化公式。


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
[求助]公式  发帖心情 Post By:2014/1/9 13:21:00 [只看该作者]

哦。谢谢老师了。

 


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
[求助]公式  发帖心情 Post By:2014/1/9 13:24:00 [只看该作者]

可以将ColName(1) 代表第一层吗?(**_a)"**_"或是"**"。

 回到顶部
总数 12 1 2 下一页