4-6WPS JS宏自定义函数变长参数函数(实例:自定义多功能数据统计函数)学习笔记

一、自定义函数:自定义多功能数据统计函数。

示例1:

javascript 复制代码
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:

javascript 复制代码
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表格中做为函数使用如图: