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

名称:MCREDUCE

备注:通过将LAMBDA函数应用到每个值并返回累加器中的总值,将数组减小为累计值。initial_value是初始值,必须设置。array是要减少的数组。fx是一个用于减少数组的LAMBDA,LAMBDA采用五个参数,即累加器、值、元素的数组行索引、元素的数组列索引、元素的数组一维索引。

引用位置:

=LAMBDA(initial_value,array,fx,IF(ISOMITTED(initial_value),"必须设置累加器初始值!",LET(arr,SEQUENCE(ROWS(array),COLUMNS(array)),REDUCE(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","MCREDUCE","initial_value,array,fx",1,"用户定义",undefined,undefined,"通过将LAMBDA函数应用到每个值并返回累加器中的总值,将数组减小为累计值。",'"initial_value是初始值,必须设置。","array是要减少的数组。","fx是一个用于减少数组的LAMBDA,LAMBDA采用五个参数,即累加器、值、元素的数组行索引、元素的数组列索引、元素的数组一维索引。"');

云南省
浏览 38
收藏
2
分享
2 +1
+1
全部评论