news 2026/4/16 16:10:32

5-38 WPS JS宏 综合实例应用-3(按员工职务级别大小排序)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5-38 WPS JS宏 综合实例应用-3(按员工职务级别大小排序)

示例:数据表按级别排序

原数据与结果:

代码:

function text()

{

Range("a1","d1").Copy(Range("f1","i1"));

var arr=Range("a2",Range("d9999").End(xlUp)).Value();

var level=["员工","经理","董事长"];//注意重要:这是排序规则,必须按循序排序,可从大-小也可从小-大。

var order=function(a,b){//自定义匿名函数

var i=level.findIndex(x=>x==a[3]);//a:级别内容与数组内容对比,返回序号。

var j=level.findIndex(x=>x==b[3]);//b:级别内容与数组内容对比,返回序号。

return j-i;//自定义匿名函数,返回内容。升序i-j,降序j-i

}

arr.sort(order);//排序,升序i-j,降序j-i

for(var [i,v] of arr.entries()){//entries()转换为数组的索引号和元素值

Range("f1:i1").Offset(i+1).Value2=v;

}

}

function text() { Range("a1","d1").Copy(Range("f1","i1")); var arr=Range("a2",Range("d9999").End(xlUp)).Value(); var level=["员工","经理","董事长"];//注意重要:这是排序规则,必须按循序排序,可从大-小也可从小-大。 var order=function(a,b){//自定义匿名函数 var i=level.findIndex(x=>x==a[3]);//a:级别内容与数组内容对比,返回序号。 var j=level.findIndex(x=>x==b[3]);//b:级别内容与数组内容对比,返回序号。 return j-i;//自定义匿名函数,返回内容。升序i-j,降序j-i } arr.sort(order);//排序,升序i-j,降序j-i for(var [i,v] of arr.entries()){//entries()转换为数组的索引号和元素值 Range("f1:i1").Offset(i+1).Value2=v; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!