以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]公式错在哪里?  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=27068)

--  作者:iyplx2425
--  发布时间:2014/4/2 8:23:00
--  [求助]公式错在哪里?

 

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

 

表中[共用产品]列出新公式:将图号相同的所有[产品名称]罗列到[共用产品]中,其间用“/”间隔开;凡图号相同的行,[共用产品]内容亦相同。

用普通公式如下:

IF(Cell(Row,"图号") <> Cell(Row - 1,"图号"),FindText(GridName,"产品名称","Q", "=" ,1) +" / " + FindText(GridName,"产品名称","Q", "=" ,2)+" / " +……,FindText(GridName,"共用产品","图号", "=" ,[图号]))+" / " +……

改用 Eval()函数,公式如下:

Eval("IF(Cell(Row, ""图号"") <> Cell(Row - 1, ""图号""),FindText(GridName,""产品名称"",""Q"", ""="" ," + Substitute([%行%],"|",") +""/"" + FindText(GridName," "产品名称"",""Q"",""="" ,")+ "),FindText(GridName,""共用产品"",""图号"", ""="" ,[图号]))")

其中[%行%]变量为[Q]值,代表相同图号的不同行号。

但公式执行时提示提示语法错误。请教错在哪里。估计是由于公式中使用了“+”,导致与翻倍公式中“++”不能区分的缘故吧?

谢谢!


--  作者:iyplx2425
--  发布时间:2014/4/2 8:25:00
--  

普通刷新公式应该是:

IF(Cell(Row,"图号") <> Cell(Row - 1,"图号"),FindText(GridName,"产品名称","Q", "=" ,1) +" / " + FindText(GridName,"产品名称","Q", "=" ,2)+" / " +……,FindText(GridName,"共用产品","图号", "=" ,[图号]))


--  作者:dancedy
--  发布时间:2014/4/2 9:20:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:88.egd


--  作者:iyplx2425
--  发布时间:2014/4/2 9:23:00
--  
哇塞,简直是神来之笔,谢谢了。本人思路太过于僵化。