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


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

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

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/11/17 1:17:00 [只看该作者]

200来行数据,计算一列1-2秒时间应该够了。
只是不明白你的字符中为何会出现两次“#”。

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/11/17 1:21:00 [只看该作者]

既然楼主不愿回答我7楼的问题,我只能告诉你不要将公式放到单元格公式中。
删除原有的所有单元格公式,将公式放到刷新公式中。

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  13楼 | 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()函数的第二个参数不能用公式或变量,只能直接是一段字符!


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


加好友 发短信
等级:职业侠客 帖子:497 积分:89 威望:0 精华:0 注册:2006/8/13 16:15:00
  发帖心情 Post By:2007/11/17 10:40:00 [只看该作者]

计算速度一直是困挠易表的问题,尤其是数据上万时,不要试图对全表进行重算什么的,我将每列运算分别设置按钮,以多取胜啊,呵呵

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  15楼 | 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 发表的内容:
计算速度一直是困挠易表的问题,尤其是数据上万时,不要试图对全表进行重算什么的,我将每列运算分别设置按钮,以多取胜啊,呵呵


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


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


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2007/11/17 12:42:00 [只看该作者]

3楼 公式不合理的地方太多
(Len("a#bgdzewhyk!l#ouprsx")-Len(Substitute("a#bgdzewhyk!l#ouprsx",[一],""))/Len([一])

有个地方嵌套两次 括号   ((……公式……))

其实直接用instr函数 速度能快很多很多很多


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


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2007/11/17 13:03:00 [只看该作者]

才看到 13楼就是用的 instr
不过公式还能简化
if(instr(……)>-1 and instr(……)>-1 and instr(……)>-1,8,"")

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


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

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

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2007/11/17 17:01:00 [只看该作者]

下面引用由lxl2007/11/17 01:03pm 发表的内容:
才看到 13楼就是用的 instr
不过公式还能简化
if(instr(……)>-1 and instr(……)>-1 and instr(……)>-1,8,"")

应该还要增加一个判断的,因为楼主指定了“#”两次,所以必须:if([一]="#",2,if....


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


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2007/11/17 17:09:00 [只看该作者]

恩恩,我还专门看了看有没有重复的。 a b c d的数了一遍 却忘记看符号了

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