|
楼主 |
发表于 2024-10-22 19:04
|
显示全部楼层
我想的是列号应该是月对应的位置,这样怎感觉有变成了数量金额的位置了。没有想明白。
- function erlieshuju(){
- let res=[hj,year,month,diqu]=[['合计'],['年'],['月'],['地区']];zj=[[0,0],['数量总计','金额总计'],[null,null],[null,null]];
- let arr=Sheets('源数据').Range('a1').CurrentRegion().slice(1);
- arr.forEach(([a,b,c,d,e])=>{
- col=month[b+c]??=(hj.push(0,0),year.push(b,b),month.push(c,c),diqu.push('数量','金额')-1);
- row=diqu[a]??=(zj.push([0,0]),res.push([a])-1);
- res[row][col-1]??=0;res[row][col-1]+=d;res[row][col]??=0;res[row][col]+=e;hj[col-1]+=d;hj[col]+=e;
- zj[row][0]+=d;zj[row][1]+=e;zj[0][0]+=d;zj[0][1]+=e;
- })
- temp=res.shift();res.push(temp);
- temp=zj.shift(),zj.push(temp)
- Sheets('转表').Range('a11').Resize(res.length,res[0].length).Value2=res;
- Sheets('转表').Cells(11,res[0].length+1).Resize(res.length,2).Value2=zj;
- }
复制代码 |
|