LAMBDA函数应用(二)

2024-07-05 13:06:47 浏览数 (2)

标签: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是要转换的数组。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

0 人点赞