|
JSA代码
- function 汇总(){
- let arr=Sheets.Item("数据源").Range("a1").CurrentRegion.Value2.slice(1);
- arr.sort((a,b)=>a[0].localeCompare(b[0])); //按照门店排序
- let [bt1,bt2]=[["种类"],[,]];
- let obj=arr.reduce((dic,[a,b,c,d])=>{
- let temp=dic[b]=dic[b] || [b];
- if (!bt1.includes(a)){
- bt1.push(a,null);
- bt2.push("销售数量","销售收入");
- }
- let n=bt1.indexOf(a);
- temp[n]=(temp[n] || 0)+c,temp[n+1]=(temp[n+1] || 0)+d;
- return dic;
- },{"0":bt1,"1":bt2});
- let res=Object.values(obj);
- Sheets.Item("汇总").Activate();
- Cells.Delete();
- Range("a1").Resize(res.length,res[0].length).Value2=res;
- for (let rng of Range("a1").Resize(1,res[0].length)){
- if (rng.Value2!=null){
- if (rng.Value2.includes("种类")) rng.Resize(2,1).Merge();
- if (rng.Value2.includes("店")) rng.Resize(1,2).Merge();
- }
- }
- Range("a1").CurrentRegion.Borders.LineStyle=xlContinuous;
- Range("a1").CurrentRegion.EntireColumn.AutoFit();
- }
复制代码 |
|