以文本方式查看主题

-  易表在线答疑  (http://www.egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://www.egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助] 怎样有条件的水平计算?  (http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=3350)

--  作者:enirilt
--  发布时间:2006/8/21 21:56:00
--  [求助] 怎样有条件的水平计算?
我的问题是怎样才能把符合条件的列数据合计到指定列?egd文件下载
--  作者:gdxhq
--  发布时间:2006/8/21 22:11:00
--  
可用sumfor()相加,注意sumfor有两个参数是确定计算起始行的。
对指定表的指定列进行求和,可以设置多个条件。

语法:
Sumfor(Grid,Col,CompareCol,CompareMode,CompareValue......,StartRow,EndRow,Option)

Grid         对该表中的某一列进行求和,可以用表名表示,也可以用位置表示。
Col          对该列进行求和,可以用列名称表示,也可以用位置表示。
CompareCol   进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值
StartRow     可选参数,指定开始计算的行。
EndRow       可选参数,指定结束计算的行。
Option       可选参数,如果设为1,则不统计隐藏行

注意StartRow和EndRow如果省略或全部设为0,表示包括所有行。


--  作者:gdxhq
--  发布时间:2006/8/21 22:18:00
--  
具体可将各次合计的公式写成:
Sumfor("表1","单位1_费额","单位1_缴费期","=",colname,row,row)+Sumfor("表1","单位2_费额","单位2_缴费期","=",colname,row,row)+Sumfor("表1","单位3_费额","单位3_缴费期","=",colname,row,row)
--  作者:enirilt
--  发布时间:2006/8/21 22:35:00
--  
我试过了,结果是这样的请看文件!您的意思是每个行里单独设公式吗?我要的是刷新公式.egd文件下载
--  作者:czy
--  发布时间:2006/8/21 23:04:00
--  
这还不容易。
egd文件下载
设计表时注意各列的类型!
输入数据要规范,不要第弟不分,不然会造成不必要的麻烦!!!
--  作者:enirilt
--  发布时间:2006/8/22 8:51:00
--  
谢谢总版主,这个办法太好了!