以文本方式查看主题 - 易表在线答疑 (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 -- [求助]公式错在哪里?
表中[共用产品]列出新公式:将图号相同的所有[产品名称]罗列到[共用产品]中,其间用“/”间隔开;凡图号相同的行,[共用产品]内容亦相同。 用普通公式如下: 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 --
|
||||
-- 作者:iyplx2425 -- 发布时间:2014/4/2 9:23:00 -- 哇塞,简直是神来之笔,谢谢了。本人思路太过于僵化。 |