5-8单元格区域与VS数组应用(实例:提取满足条件的数据)
要求:提取满足条件的数据。(提取第1个大于等于100的数据以及对应的月份)
function test(){var LastCell=Range("a9999").End(xlUp);//向上定位找底位
var Rngs=Range("a2",LastCell);//选择区域
for(var Rng of Rngs){var arr=Rng.Offset(0,1).Resize(1,12).Value()[0];//Rng.Offset(0,1)右偏移1位.Resize(1,12)选择区域.Value()只读[0]一维数组第一个值var arr1=Array.from(arr,x=>x>=100);//查找数组中X=>100的值,Array.from(arr,x=>x>=100)对数组做转换设置,arr,x=>x>=100,输出结果是[false,false,true,true,false,false,]var num=WorksheetFunction.Match(true,arr1,0);//使用函数Match定位(true为对(false为错),arr1为查找区域,0为精准),定位第1个true在什么位置,就是第1个大于等于100的位置var val=Rng.Offset(0,num).Value();//Rng.Offset(0,num)右偏移到什么地方.Value()为只读;Rng.Offset(0,13).Value2=`${val}(${num}月)`; //Rng.Offset(0,13).Value2指定的地方=写入`${val}(${num}月)`
}}
结果: