LAMBDA函数应用(三)

2024-07-05 13:07:18 浏览数 (1)

标签:LAMBDA函数

利用LAMBDA函数,结合其他函数编写的自定义函数,方便进行数据处理。下面是在mrexcel.com中学习整理的一些函数。

1.函数:SORTROWS

用途:SORTROWS函数按行排序二维数组。返回的数组维度与原数组相同。

定义:

代码语言:javascript复制
=LAMBDA(array,zerosToEnd,
   LET(a,array,
       mx,MAX(a) 1,
       a1D,ARRAY2DTO1D(a),
       a1DRw,ARRAY2DTO1D(ROWNUMBERS(a)),
       zte,IF(zerosToEnd=1,IF(a1D=0,mx,a1D),a1D),
       srt,SORTBY(a1D,a1DRw,1,zte,1),
   return,ARRAY1DTO2D(srt,ROWS(a)),
   return)
)

使用:在单元格中输入=SORTROWS(array,zerosToEnd),其中,参数array是要排序的数组,参数zerosToEnd是0或空白可正常对0进行排序,是1则可将0排序到区域的末尾。

注:这个函数要用到LAMBDA函数应用(一)和LAMBDA函数应用(二)中所介绍的ARRAY2DTO1D、ROWNUMBERS和ARRAY1DTO2D函数。

2.函数:SUMROWS

用途:SUMROWS函数返回二维数组中每行之和。

定义:

代码语言:javascript复制
=LAMBDA(x,MMULT(x,SEQUENCE(COLUMNS(x),1,1,0)))

使用:在单元格中输入=SUMROWS(x),其中,参数x是要求和的二维数组。

3.函数:SUMCOLS

用途:SUMCOLS函数返回数组中每列之和。

定义:

代码语言:javascript复制
=LAMBDA(x,MMULT(SEQUENCE(1,ROWS(x),1,0),x))

使用:在单元格中输入=SUMCOLS(x),其中,参数x是要求和的二维数组。

4.函数:TEXTTOARRAY

用途:TEXTTOARRAY函数返回由文本字符串的单个字符组成的数组。

定义:

代码语言:javascript复制
=LAMBDA(text,
   LET(t,text,
       h,COLUMNS(t)>ROWS(t),
       l,LEN(t),
       m,MAX(l),
   return,MID(t,SEQUENCE(MAX(1,h*m),MAX(1,(1-h)*m)),1),
   return)
)

使用:在单元格中输入=TEXTTOARRAY(text),其中,参数text是单个字符串或字符串数组。

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

0 人点赞