标签:LAMBDA函数
利用LAMBDA函数,结合其他函数编写的自定义函数,方便进行数据处理。下面是在mrexcel.com中学习整理的一些函数。
1.函数:RESIZEARRAY
用途:RESIZEARRAY将数组的大小调整为给定数量的行和列,允许在列和行与原始数组不一致的情况下使用defaultValue值。
定义:
代码语言:javascript复制=LAMBDA(array,r,c,defaultValue,
LET(
rA,ROWS(array),
cA,COLUMNS(array),
seqR,SEQUENCE(IF(r=0,rA,r)),
seqC,SEQUENCE(,IF(c=0,cA,c)),
return,IF(seqR>rA,defaultValue,IF(seqC>cA,defaultValue,INDEX(array,seqR,seqC))),
return)
)
使用:在单元格中输入=RESIZEARRAY(array,r,c,defaultValue),其中,参数array是要扩展大小的数组,参数r是被扩展大小的数组的行数,参数c是被扩展大小的数组的列数,参数defaultValue是在原始数组外的任何行或列中输入的值。
2.函数:ARRAY1DTO2D
用途:ARRAY1DTO2D函数拆分一维数组成二维数组,二维数组高度由一维数组大小除以divisor。例如,如果一维数组是30行,分割数是3,则会拆分成3×10的二维数组。
定义:
代码语言:javascript复制=LAMBDA(array,divisor,LET(a,array,d,divisor,s,SEQUENCE(d,ROWS(a)/d),return,INDEX(a,s,1),return))
使用:在单元格中输入=ARRAY1DTO2D(array,divisor),其中,参数array是要转换的数组,参数divisor是要将数组拆分为的分割数。
3.函数:ARRAY2DTO1D
用途:ARRAY2DTO1D将二维数组转换成堆放在一起的一维数组。
定义:
代码语言:javascript复制=LAMBDA(array,
LET(
a,array,
col,COLUMNS(a),
s,SEQUENCE(ROWS(a)*col,1,0),
c,MOD(s,col) 1,
r,INT(s/col) 1,
return,INDEX(a,r,c),
return)
)
使用:在单元格中输入=ARRAY2DTO1D(array),其中,参数array是要转换的数组。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。