自定义函数 MCSCAN 可使用五个参数,即累加器、值、行索引、列索引、一维索引

名称:MCSCAN

备注:通过将LAMBDA函数应用到每个值来扫描数组并返回一个具有每个中间值的数组。initial_value是初始值,必须设置。array是要扫描的数组。fx是调用以扫描数组的LAMBDA,LAMBDA采用五个参数,即累加器、值、元素的数组行索引、元素的数组列索引、元素的数组一维索引。

引用位置:

=LAMBDA(initial_value,array,fx,IF(ISOMITTED(initial_value),"必须设置累加器初始值!",LET(arr,SEQUENCE(ROWS(array),COLUMNS(array)),SCAN(initial_value,arr,LAMBDA(t,v,fx(t,INDEX(array,QUOTIENT(v-1,COLUMNS(arr))+1,MOD(v-1,COLUMNS(arr))+1),QUOTIENT(v-1,COLUMNS(arr))+1,MOD(v-1,COLUMNS(arr))+1,v))))))

插入函数对话框、函数参数对话框:

加载宏文件function Workbook_Open(){}中添加以下代码。

JSAREGISTER("user32.dll","CharPrevA","PPPP","MCSCAN","initial_value,array,fx",1,"用户定义",undefined,undefined,"通过将LAMBDA函数应用到每个值来扫描数组并返回一个具有每个中间值的数组。",'"initial_value是初始值,必须设置。","array是要扫描的数组。","fx是调用以扫描数组的LAMBDA,LAMBDA采用五个参数,即累加器、值、元素的数组行索引、元素的数组列索引、元素的数组一维索引。"');

云南省
浏览 362
收藏
1
分享
1 +1
2
+1
全部评论 2
 
赵二
大佬!
· 辽宁省
1
回复
 
恰同学少年
举个例子啊
· 黑龙江省
回复