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


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

主题:[求助]公式

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/12/27 12:52:00 [显示全部帖子]

加工工序是连续的,有跨年、跨月的情形。

对于同一批次的某个工序而言,产品编号(简称批次工序编号)是唯一的,完成了就被勾选。上年已经完成了的批次工序编号,不能再在“01月份”表中被勾选。同样,如果到了2月份,“01月份”中被勾选了的批次工序编号,也不能再在“02月份”表中被勾选。


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/12/27 12:59:00 [显示全部帖子]

通常同批次中相同工序不会一次性完成,需要分几次(即若干行)才能录完,而FindText()函数只能返回其中被指定的某一行的数据。

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/12/30 9:30:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:编号录入.egd

在上面的文件中,“02月”表[产品编号_1]至[产品编号_80]的公式依次为

IF(CountFor("01月","产品编号_1", "=" ,[产品编号_1],"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0 or CountFor (GridName,"产品编号_1", "=" ,[产品编号_1],"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0,0,[产品编号_1])、

 

IF(CountFor("01月","产品编号_2", "=" ,[产品编号_2],"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0 or CountFor (GridName,"产品编号_2", "=" ,[产品编号_2],"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0,0,[产品编号_2])、

 

……

 

IF(CountFor("01月","产品编号_80", "=" ,[产品编号_80],"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0 or CountFor (GridName,"产品编号_80", "=" ,[产品编号_80],"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0,0,[产品编号_80])。

 

刷新公式的目的是:在整个文件中,同批次、同工序的产品编号被勾选的次数是唯一的,即凡在此前被勾选过了,就不能再在其他的行被勾选。

请教老师,有没有简便的通用公式一次写入,不然要写80次。

谢谢!


 


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/12/30 9:35:00 [显示全部帖子]

我在想,如果能有一个通用的表达方式将公式中","产品编号_1" 、[产品编号_1]……,"产品编号_80" 、[产品编号_80]替代,就可以一次性写入了。

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/12/30 10:04:00 [显示全部帖子]

公式有误,应更改为下面的形式:

 

IF(CountFor("01月","产品编号_1", "=" ,-1,”批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0 or CountFor (GridName,"产品编号_1", "=" ,-1,"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0,0,[产品编号_1])、

 

IF(CountFor("01月","产品编号_2", "=" ,-1,"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0 or CountFor (GridName,"产品编号_2", "=" ,-1,"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0,0,[产品编号_2])、

 

……

 

IF(CountFor("01月","产品编号_80", "=" ,-1,"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0 or CountFor (GridName,"产品编号_80", "=" ,-1,"批次号", "=" ,[批次号],"工序名称", "=" ,[工序名称]) > 0,0,[产品编号_80])。


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/12/30 10:31:00 [显示全部帖子]

我只用下面的公式,执行起来也不正确。

Eval("IF(CountFor(GridName,""批次号"", ""="" ,[批次号],""工序名称"", ""="" ,[工序名称], ColName, ""="" , - 1) > 0,0, ["+ColName+"])")本表中(不考虑其他表的状况)未被勾选的编号不能被勾选。


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/12/30 12:14:00 [显示全部帖子]

误打误撞,改成下面的公式,能用了。但有一个问题我还弄不明白:

当本表中编号记录次数必须设置为大于1时,公式正确,而在另外的表中又必须是大于0。不知是什么原因。

Eval("IF(Number(Substitute(ColName,""产品编号_"","""")) > [额定数量],0,IF(CountFor(GridName,""批次号"", ""="" ,[批次号],""工序名称"", ""="" ,[工序名称], ColName, ""="" , - 1) > 1 Or CountFor(""01月"",""批次号"", ""="" ,[批次号],""工序名称"", ""="" ,[工序名称], ColName, ""="" , - 1) > 0 ,0, ["+ColName+"]))")


 回到顶部
总数 18 上一页 1 2