以文本方式查看主题

-  易表在线答疑  (http://www.egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://www.egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]subtotalfill函数的用法?谢谢!  (http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=11352)

--  作者:8996hyg
--  发布时间:2008/2/8 13:16:00
--  [求助]subtotalfill函数的用法?谢谢!
egd文件下载
求表1的当月不同合同号的“月话费,月国际,月国内”三列的和,如果当月是1月份,则求的是1月的,如果是2月,则求的是2月,如表2。
自定义按钮的公式:只对其中的一列  subtotalfill("表1",text(month(today()))+"月话费",2)  好用,结果也正确。同时对三列的求和公式:
subtotalfill("表1","text(month(today()))+"月国际",text(month(today()))+"月国内",text(month(today()))+"月话费"","2,2,2") 即把
text(month(today()))+"月国际",text(month(today()))+"月国内",text(month(today()))+"月话费"  用括号括起来则表达式错误,错在哪里?正确的写法?谢谢!
--  作者:程兴刚
--  发布时间:2008/2/8 13:38:00
--  
egd文件下载
--  作者:程兴刚
--  发布时间:2008/2/8 13:49:00
--  
或者这样也可以:

      egd文件下载


--  作者:8996hyg
--  发布时间:2008/2/8 14:11:00
--  
程老师,在用subtotaifill解决不了的时候我用的也是您的这种解决方法(写在了表2的自定义按钮公式中了),但因为我的表1中有近70万的纪录,怕sumfor不如subtotaifill效率高,所以想用subtotaifill来解决它,同时也想搞明白公式:subtotalfill("表1","text(month(today()))+"月国际",text(month(today()))+"月国内",text(month(today()))+"月话费"","2,2,2")为什么这样用不行,根据指南中讲的,应该没错呀?谢谢您!
--  作者:ybil
--  发布时间:2008/2/8 14:20:00
--  
這樣試試:
Eval("subtotalfill(""表1"",""合同號"",""" + text(month(today()))+"月話費,"  + text(month(today()))+"月國際," + text(month(today()))+"月國內"",""2,2,2"")")
--  作者:程兴刚
--  发布时间:2008/2/8 14:25:00
--  
您的公式语法不对,按下面这样:

 eval("subtotalfill(""表1"",""合同号"","""+text(month(today()))+"月国际,"+text(month(today()))+"月国内,"+text(month(today()))+"月话费"",""2,2,2"")")


--  作者:程兴刚
--  发布时间:2008/2/8 14:44:00
--  
最好这样,先根据月份将表2的列名称改过来:

     RenameCol(2,text(month(today()))+"月国际") And RenameCol(3,text(month(today()))+"月国内") And RenameCol(4,text(month(today()))+"月话费") And eval("subtotalfill(""表1"",""合同号"","""+text(month(today()))+"月国际,"+text(month(today()))+"月国内,"+text(month(today()))+"月话费"",""2,2,2"")")


--  作者:8996hyg
--  发布时间:2008/2/8 14:54:00
--  
谢谢二位老师,对""合同号"",后面的三个"""不理解,我再学习一下eval,慢慢消化,谢谢!
--  作者:程兴刚
--  发布时间:2008/2/8 15:02:00
--  
将原公式复制到公式管理器中,只去掉“eval”,别的不用动,然后点击公式管理器下面的“执行/计算”,看看提示信息的计算结果就知道了:结果是符合subtotalfill()函数公式语法的字符串,而eval()函数所执行的正好是“符合函数公式语法的字符串”,引号中的这一段话很重要,这是理解eval函数的关键,记住和理解了这一句,您定会有“茅塞顿开”的感觉!
--  作者:wjq1072
--  发布时间:2008/2/8 15:46:00
--  
egd文件下载