专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
完美Excel  ·  VBA:创建可调整大小的用户窗体 ·  2 天前  
完美Excel  ·  奔流不息的大渡河 ·  4 天前  
Excel之家ExcelHome  ·  我写的Excel公式,不能让你随便改 ·  4 天前  
Excel之家ExcelHome  ·  频数计算很简单,搬砖搬到六十三 ·  5 天前  
完美Excel  ·  创建切换控件效果 ·  1 周前  
51好读  ›  专栏  ›  完美Excel

LAMBDA函数应用(十一)

完美Excel  · 公众号  · Excel  · 2024-09-06 05:35

正文

学习Excel技术,关注微信公众号:
excelperfect

标签:LAMBDA函数

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

1.函数:AOCREPLACE

用途:AOCREPLACE函数,对数组进行替换,仅用替换分隔符(任何字符串)“rd”替换数组“a”中由“oc”指定的出现的位置的分隔符(任意字符串)“d”

定义:

=LAMBDA(a,d,rd,oc,  LET(y,SORT(UNIQUE(oc,1),,,1),o,FILTER(y,y>0,0),n,COLUMNS(o),x,INDEX(o,1,n),  IF(n=1,IF(o=0,SUBSTITUTE(a,d,rd),SUBSTITUTE(a,d,rd,x)),AOCREPLACE(SUBSTITUTE(a,d,rd,x),d,rd,INDEX(o,1,SEQUENCE(,n-1)))) ))

使用:在单元格中输入=AOCREPLACE(a,d,rd,oc),其中,参数a是一个供操作的数组;参数d是任意字符串或分隔符;参数rd是任意字符串,用于替换参数d指定的分隔符;参数oc,指定用于替换的出现的位置,0或忽略则替换所有出现的位置,或者指定为常数整数行数组{2,4,5}或单个值24,则在其范围的位置出现的分隔符将被忽略。

2.函数:AINSERT

用途:AINSERT函数,在数组中插入值,在数组“a”的字符之间插入任何字符串分隔符“d”,可选择的插入的间隔“p”且可选择的开始插入的起点“i”

定义:

=LAMBDA(a,d,p,i,  LET(ld,LEN(d),k,MAX(p,1),j,MAX(k+1,i),n,MAX(LEN(a)),  IF(n<(j-1),SUBSTITUTE(TRIM(SUBSTITUTE(a,d," "))," ",d),AINSERT(REPLACE(a,j,,d),d,k,j+2*(k+1)-k-1+ld-1)) ))

使用:在单元格中输入=AINSERT(a,d,p,i),其中,参数a是要操作的数组;参数d,指定要放置到数组中的任意字符串;参数p为整数,指定插入的字符串放置的间隔距离;参数i为整数,指定插入字符串的起点位置,即插入的字符串第一次出现的位置,如果忽略,则从数组中第1个字符串之后开始插入字符串。

3.函数:AAND

用途:AAND函数返回数组每一行中的数值进行AND运算后的值。

定义:

=LAMBDA(ar,ns,  LET(s,IF(ns=0,"",ns),n,ROWS(ar),c,COLUMNS(ar),x,AND(INDEX(ar,n,)),  IF(n=1,INDEX(APPEND2V(x,s,),SEQUENCE(ROWS(s))),AAND(INDEX(ar,SEQUENCE(n-1),SEQUENCE(,c)),APPEND2V(x,s,))) )

)

使用:在单元格中输入=AAND(a,ns),其中,参数a为要操作的数组;参数ns为空,即总是被忽略。注意,本函数调用了LAMBDA函数应用(十)中的函数APPEND2V

4.函数:AOR

用途:AOR函数返回数组每一行中的数值进行OR运算后的值。

定义:

=LAMBDA(ar,ns,  LET(s,IF(ns=0,"",ns),n,ROWS(ar),c,COLUMNS(ar),x,OR(INDEX(ar,n,)),  IF(n=1,INDEX(APPEND2V(x,s,),SEQUENCE(ROWS(s))),AOR(INDEX(ar,SEQUENCE(n-1),SEQUENCE(,c)),APPEND2V(x,s,))) ))

使用:在单元格中输入=AOR(a,ns),其中,参数a为要操作的数组;参数ns为空,即总是被忽略。注意,本函数调用了LAMBDA函数应用(十)中的函数APPEND2V


欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。