以文本方式查看主题 - 易表在线答疑 (http://egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://egrid2000.com/dvbbs/list.asp?boardid=2) ---- 只计算可见的行 (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=27840) |
-- 作者:cnzayu -- 发布时间:2015/3/19 0:11:00 -- 只计算可见的行 如表1中有隐藏的行,我现在只想让表1中第一列可见的行的内容为-1,evalfor("表1","第一列","-1")如果公式这样,隐藏的行也同样会变成-1.如果解决。 |
-- 作者:dancedy -- 发布时间:2015/3/19 8:40:00 -- evalfor("表1","第一列","-1",1,rows,1) |
-- 作者:cnzayu -- 发布时间:2015/3/19 11:32:00 -- 追问,表1与表2、表3,用编号关联,当表1可见行第一列(逻辑列)为-1后,那么与之关联的表2与表3 里的第一列(逻辑列)如何也为-1.谢谢版主
下面公式能实现,但感觉有点麻烦。 Eval("evalfor(""表2"",""第一列"",""-1"",""编号"",""="","+Substitute(listfor("表1","编号","第一列","-1"),"|",") and evalfor(""表2"",""第一列"",""-1"",""编号"",""="",")+")") [此贴子已经被作者于2015/3/19 12:00:22编辑过]
|
-- 作者:dancedy -- 发布时间:2015/3/19 12:02:00 -- Evalfor(gridname,"第一列","-1",1,Rows,1) And Evalfor("表2","第一列","[表1!第一列]") |
-- 作者:cnzayu -- 发布时间:2015/3/19 13:34:00 -- 是应该这么简单,我知道肯定是我复杂化了,谢谢 |
-- 作者:cnzayu -- 发布时间:2015/3/19 13:49:00 -- 版主有一个缺点,在二万多行的数据需要十来秒。 |
-- 作者:dancedy -- 发布时间:2015/3/19 14:57:00 -- 嗯,这个是所有行的重算了,数据量大肯定会慢 如果筛选的只是一个编号,可以只重算这个编号的记录;如果多个编号,看下筛选方式是怎样的
最好是传上文件,说明具体需要 |
-- 作者:cnzayu -- 发布时间:2015/3/19 15:12:00 -- 谢谢版主,我用 Eval("evalfor(""表2"",""第一列"",""-1"",""编号"",""="","+Substitute(listfor("表1","编号","第一列","-1"),"|",") and evalfor(""表2"",""第一列"",""-1"",""编号"",""="",")+")") 这个涵数,不到一秒就完成了,就是写函数麻烦点,还是就这样吧。 |
-- 作者:dancedy -- 发布时间:2015/3/19 15:17:00 -- 嗯,如果要根据具体筛选出来的行进行重算,就是使用你的这个公式的 |