易表在线答疑技术与交流用户社区 → 分类汇总函数可不可以只对超过一条相同条件的记录进行汇总?


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

主题:分类汇总函数可不可以只对超过一条相同条件的记录进行汇总?

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


加好友 发短信
等级:论坛游民 帖子:65 积分:0 威望:0 精华:0 注册:2007/3/15 13:14:00
分类汇总函数可不可以只对超过一条相同条件的记录进行汇总?  发帖心情 Post By:2007/4/21 16:06:00 [只看该作者]

请教高手:
分类汇总函数可不可以只对超过一条相同条件的记录进行汇总?
如:
料号      数量
A01-001   100
A01-002   120
A01-002    50
A02-001   110
A02-002   150
A02-002    20
A02-002    30


汇总后效果
料号      数量
A01-001    100
A01-002    120
A01-002     50
小计 A01-002  170
A02-001    110
A02-002    150
A02-002     20
A02-002     30
小计 A02-002  200
总计:        580


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2007/4/21 16:35:00 [只看该作者]

发文件

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


加好友 发短信
等级:论坛游民 帖子:73 积分:0 威望:0 精华:0 注册:2007/4/9 12:45:00
  发帖心情 Post By:2007/4/21 18:04:00 [只看该作者]

设1数值型变量:%zsl%

ClearSubtotal() And DelFor(Grid,"料号","=","") And DelFor(Grid,"料号","instr","小计") And DelFor(Grid,"料号","=","总计") And Eval("SetVariable(""%zsl%"","+text(sumfor(Grid,"数量"))+")")And CreateGrid(".","料号",0,"数量",1,"Y",3) And Cleargrid(grids) and CopyRows(grids) And DelRow(grids,1) And Do(220,1) and EvalFor(grid,"料号","IF(if(FindRow(Grids,""料号"",""="",[料号],2)=0,ReplaceFor(Grids,""Y"",-1,""料号"",""="",[料号]),True),[料号],[料号])",0,0,1) And DelFor(grids,"Y","=",-1) And EvalFor(grids,3,"SubtotalFill(Grids,""料号"",""数量"",2)",1,1) And EvalFor(grids,1,"[料号]+""小计""","料号", "<>" ,"总计") And Do(112) and AppendRows(grids) And RemoveGrid(grids)And SetCellText(Grid,Rows,"数量",[%zsl%]) And SortCol(Grid,"料号",1)And EvalFor(Grid,"料号","""小计 ""+Substitute([料号],""小计"","""")","料号", "instr" ,"小计") And MarkRowFor(12910591,0,"料号", "instr" ,"小计")And MarkRowFor(8453888,0,"料号","=","总计")


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


加好友 发短信
等级:论坛游民 帖子:65 积分:0 威望:0 精华:0 注册:2007/3/15 13:14:00
  发帖心情 Post By:2007/4/23 8:32:00 [只看该作者]

谢谢3楼高手,但你的方法我有点看不明白,我用了个变通方法,已经解决了。
1.就是增加一个逻辑列来决定小计行ROW是否被隐藏,
2.再找一列来设操作公式-给逻辑列赋值,
3.重算操作公式所在的列
4.将不要的小计行隐藏。

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


加好友 发短信
等级:论坛游民 帖子:73 积分:0 威望:0 精华:0 注册:2007/4/9 12:45:00
  发帖心情 Post By:2007/4/23 10:26:00 [只看该作者]

给你个简单点的:

If(cell(Rows,"料号") = "总计",ClearSubtotal(),Subtotal("料号","数量",2) And EvalFor(grid,"料号","If(FindRow(Grid,""料号"",""="",Substitute([料号],""小计 "",""""),2)=0,If(DelRow(Grid,Row),[料号],[料号]),[料号])","料号","instr","小计"))


 回到顶部