示例:多条件筛选记录并排序
原数据与结果
代码:
function text()
{
Range("a1","d1").Copy(Range("f1","h1"))
var arr=Range("a2:d10").Value();
var newarr=arr.filter(ar=>ar.slice(1).every(v=>v>=100));
//slice切片,every比较,filter统计符合条件的数组内容并组合成一个新数组
var order=function(a,b){//自定义匿名函数
var i=a.slice(1).reduce((x,y)=>x+y);//slice切片,reduce数组值相加,求大小值
var j=b.slice(1).reduce((x,y)=>x+y);
return i-j;
}
newarr.sort(order);//求和在排序
Range("f2").Resize(newarr.length,newarr[0].length).Value2=newarr;//新重点内容,可选择区域一次性写入内容。
}
function text() { Range("a1","d1").Copy(Range("f1","h1")) var arr=Range("a2:d10").Value(); var newarr=arr.filter(ar=>ar.slice(1).every(v=>v>=100)); //slice切片,every比较,filter统计符合条件的数组内容并组合成一个新数组 var order=function(a,b){//自定义匿名函数 var i=a.slice(1).reduce((x,y)=>x+y);//slice切片,reduce数组值相加,求大小值 var j=b.slice(1).reduce((x,y)=>x+y); return i-j; } newarr.sort(order);//求和在排序 Range("f2").Resize(newarr.length,newarr[0].length).Value2=newarr;//新重点内容,可选择区域一次性写入内容。 }