news 2026/5/16 3:19:47

7-16 WPS JS宏 RandBetween、Address实例8--[唯一性]类的应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
7-16 WPS JS宏 RandBetween、Address实例8--[唯一性]类的应用

7-16 WPS JS宏RandBetweenAddress实例8--[唯一性]类的应用

  • 函数

RandBetween

为excel函数,需要WorksheetFunction调用。

格式:WorksheetFunction.RandBetween(起点,终点)

Address

为显示地址

格式:区域范围等.Address()

二、自定义类测试

数据与结果1:

结果2:

生成新工作薄,写入不重复的名字

代码:

class zidinyihanshu{

//初始化设置,只要被激活先运行初始化内容,保存结果。

constructor(Rngs1){//初始化设置函数constructor

this.Rngs=Rngs1;//重点:调用Rngs1可直接使用,调用Rngs需要用this.Rngs

this.arr=Rngs1.Value().flat();//表达式返回属性值

this.list=[...new Set(Rngs1.Value().flat())];//打平数组,集合清理重复值再用[]变为数组

}

//需要时在调用

Sum1(){return this.arr.reduce((x,y)=>x+y)};//有返回值(函数)

Rngcolor(color){this.Rngs.Interior.Colorlndex=color}; //无返回值(函数)

color1(){

for (var v of this.list){

var num=WorksheetFunction.RandBetween(1,999999);

for (var a of this.Rngs){

if (a.Value()==v){a.Interior.Color=num}

}}}

}

//要求:着色各工作表的相同的姓名,并提取每表唯一值

function 重复值单元格上色(){

var arr=[];

for (var ws of Sheets){

var rns=ws.Range("a1",ws.Cells(999,"a").End(xlUp));

var disoj=new zidinyihanshu(rns);

disoj.color1();

arr.push(disoj.list)

}

Console.log(JSON.stringify(arr));

Console.log(rns.Address());//本节学习内容:Address()为显示地址

Workbooks.Add();

var lie=arr.reduce((x,y)=>(x.length>y.length)?x:y).length;

Range("a1").Resize(arr.length,lie).Value2=arr;

}

////自定义类 class zidinyihanshu{ //初始化设置,只要被激活先运行初始化内容,保存结果。 constructor(Rngs1){//初始化设置函数constructor this.Rngs=Rngs1;//重点:调用Rngs1可直接使用,调用Rngs需要用this.Rngs this.arr=Rngs1.Value().flat();//表达式返回属性值 this.list=[...new Set(Rngs1.Value().flat())];//打平数组,集合清理重复值再用[]变为数组 } //需要时在调用 Sum1(){return this.arr.reduce((x,y)=>x+y)};//有返回值(函数) Rngcolor(color){this.Rngs.Interior.Colorlndex=color}; //无返回值(函数) color1(){ for (var v of this.list){ var num=WorksheetFunction.RandBetween(1,999999); for (var a of this.Rngs){ if (a.Value()==v){a.Interior.Color=num} }}} } //要求:着色各工作表的相同的姓名,并提取每表唯一值 function 重复值单元格上色(){ var arr=[]; for (var ws of Sheets){ var rns=ws.Range("a1",ws.Cells(999,"a").End(xlUp)); var disoj=new zidinyihanshu(rns); disoj.color1(); arr.push(disoj.list) } Console.log(JSON.stringify(arr)); Console.log(rns.Address());//本节学习内容:Address()为显示地址 Workbooks.Add(); var lie=arr.reduce((x,y)=>(x.length>y.length)?x:y).length; Range("a1").Resize(arr.length,lie).Value2=arr; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 13:21:22

C++中的职责链模式实战

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…

作者头像 李华
网站建设 2026/5/9 14:21:47

C++编译期反射实现

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第…

作者头像 李华
网站建设 2026/5/10 4:06:47

【读书笔记】《大流感》

《大流感》读书笔记 引言:史诗级的灾难 《大流感》描述的是1918年到1919年期间在全球流行的大流感。这场流感造成的死亡人数: 最早官方统计:2,100万人随着深入研究不断攀升:5,000万人这是人类历史上的重大灾难,但也…

作者头像 李华
网站建设 2026/5/14 17:10:35

设计模式在C++中的实现

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第…

作者头像 李华
网站建设 2026/5/10 2:03:56

基于最小均方算法的半球谐振子特征参数辨识方法

1. 论文中文标题 基于最小均方算法的半球谐振子特征参数辨识方法 2. 论文主要内容概括 本文针对半球谐振陀螺(HRG)核心元件——半球谐振子(HSR)缺乏有效性能量化评估方法的问题,提出一种基于最小均方(LMS)算法的特征参数辨识方法。该方法通过构建非理想谐振子的正交误…

作者头像 李华
网站建设 2026/5/14 9:16:27

高校院所科技成果转化的生态协同之道,数智平台引领产业与学术双赢

在当今创新驱动发展的时代背景下,高校院所作为科技创新的重要源头,其科技成果的转化效率直接关系到国家产业升级和经济高质量发展。然而,在传统模式下,科技成果转化面临信息壁垒高、供需不对称、流程复杂等痛点,这些问…

作者头像 李华