需要按照部门把这些数据拆分成单独的表。
想达如下的效果:
class Splittable{
spl(rng1,rng2,col_num){
var arr = rng2.Value();
var br = rng1.Value();
var i = col_num-1;
var obj = {};
for (var ar of arr){
if (ar[i] in obj){
obj[ar[i]].push(ar);
} else{
obj[ar[i]] = [br.flat(),ar];
}
}
for (var [key,val] of Object.entries(obj)){
var ws = Worksheets.Add(null,Sheets(Sheets.Count));ws.Name=key;
ws.Range("a1").Resize(val.length,arr[0].length).Value2 = val;
}
}
}
function test1(){
var rng1 = Application.InputBox("请选择标题区域 ",null,null,null,null,null,null,8);
var rng2 = Application.InputBox("请选择数据区域 ",null,null,null,null,null,null,8);
var col_num = InputBox("按第几列拆分?")
var mySplit = new Splittable();
mySplit.spl(rng1,rng2,col_num);
}
有时我们可能希望把数据拆分出来后单独保存为工作簿,如下:
联系客服