易表在线答疑技术与交流用户社区 → 关于易表的计算速度


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

主题:关于易表的计算速度

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/11/17 0:47:00 [显示全部帖子]

您的公式是用在哪里的!

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/11/17 0:53:00 [显示全部帖子]

/Len([一])

       上面这段有意义吗?是不是可以省去?


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/11/17 2:17:00 [显示全部帖子]

egd文件下载

      公式在001列刷新公式!If(If(Instr([一],"a#bgdzewhyk!l#ouprsx") > - 1,1,0) + If(Instr([二],"a#bgdzewhyk!l#ouprsx") > - 1,1,0) + If(Instr([三],"a#bgdzewhyk!l#ouprsx") > - 1,1,0) + If(Instr([四],"a#bgdzewhyk!l#ouprsx") > - 1,1,0) + If(Instr([五],"a#bgdzewhyk!l#ouprsx") > - 1,1,0) + If(Instr([六],"a#bgdzewhyk!l#ouprsx") > - 1,1,0) + If(Instr([七],"a#bgdzewhyk!l#ouprsx") > - 1,1,0) + If(Instr([特],"a#bgdzewhyk!l#ouprsx") > - 1,1,0) = 8,8,"")

问题所在:1、楼主碰到了Substitute()函数的死穴,Substitute([一],"字符","")这样可以,而Substitute("字符",[一],"")这样虽然没有语法错误,但会造成系统停止响应现象,就是采用EVAL写法也无法避免(变量是否如此,暂未测试);
         2、就像总版主说的,将单元格公式改为刷新公式,速度会快很多;
         3、建议楼主尽量别采用纯数字列名称!

-=-=-=- 以下内容由 程兴刚2007年11月17日 10:43am 时添加 -=-=-=-
经测试,Substitute("字符",[%A%],"")这样也不行,在这里使用变量也不能够通过!

      也就是说,Substitute()函数的第二个参数必须是字符,不能引用单元格、变量等字符型数据,或者说Substitute()函数的第二个参数不能用公式或变量,只能直接是一段字符!


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/11/17 10:46:00 [显示全部帖子]

下面引用由gdxhq2007/11/17 10:40am 发表的内容:
计算速度一直是困挠易表的问题,尤其是数据上万时,不要试图对全表进行重算什么的,我将每列运算分别设置按钮,以多取胜啊,呵呵


    不能千篇一律地责怪易表,估计楼上在回答问题之前根本没细看各楼的内容,仅仅是针对帖子标题在作答,您抬头再好好看看楼上,要针对真正原因解决问题!


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/11/17 13:50:00 [显示全部帖子]

呵呵,lxl兄的解答甚妙,我当时只是想,楼主只是求等于8的值,如果等于其它值呢?这是我考虑欠周!

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/11/17 22:08:00 [显示全部帖子]

那个4不是4个,而是[一]列字符在那个字符串中的位置,您好好看看Instr()函数的帮助!

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/11/17 22:21:00 [显示全部帖子]

您从13楼一直看到20楼再看看下面这一段公式:

        If(Instr([一],"a#bgdzewhyk!l#ouprsx") > - 1,"存在","不存在")


     当条件成立时,即存在,否则,不存在!

-=-=-=- 以下内容由 程兴刚2007年11月17日 10:26pm 时添加 -=-=-=-
一个字符在另一个字符串的位置是以0开始,一直到n,始终大于等于0,而找不到该位置的时候,其产生的数据是一个空值,当判断判断大于-1时,无法等到正确结果,判断条件始终不能成立!

-=-=-=- 以下内容由 程兴刚2007年11月17日 10:28pm 时添加 -=-=-=-
也基本是您25楼后面补充的那个意思!


 回到顶部