4-6WPS JS宏自定义函数变长参数函数(实例:自定义多功能数据统计函数)学习笔记
一、自定义函数:自定义多功能数据统计函数。
示例1:
function jia1(x,...arr){//自定义变长函数,X第一参数,...arr为变长参数可放入无数个参数,就像是数组return x+WorksheetFunction.Sum(arr)//返回,X第一参数+WorksheetFunction.Sum(arr)调用WPS表格函数Sum求arr的求合数}function demo2(){alert(jia1(1,3,6,9,12))//调用jia1自定义变长函数,并给出参数1,3,6,9 可给出N个参数}
示例2:
function Total(arr,...fun){
var wsf=WorksheetFunction;//调用WPS表的函数
var txt="";for(var f of fun){//循环fun
switch (f){
case "sum":{var agg="求和:"+wsf.Sum(arr);break;}//调用WPS表的函数Sum(arr)求和
case "max":{var agg="最大:"+wsf.Max(arr);break;}//求最大数
case "min":{var agg="最小:"+wsf.Min(arr);break;}//求最小数
case "count":{var agg="计数:"+wsf.Count(arr);break;}//求共计数
case "avg":{var agg="平均:"+wsf.Round(wsf.Sum(arr)/wsf.Count(arr),2);break;}求平均数,Round(a,2)意思为a保留2位小数}
txt=txt+"\n"+agg;// \n为换行符
}
return txt.slice(1);//从数组txt的第2位数开始,为什么要有slice(1),那是因为上方的\n,导致txt(0)为换行符
}function demo(){
Console.log(Total([2,3,4],"sum","max","min","count","avg"))
}
二、自定义函数示例2:Total可直接在WPS表格中做为函数使用如图: