自定义函数 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采用五个参数,即累加器、值、元素的数组行索引、元素的数组列索引、元素的数组一维索引。"');