我编写了一个 ExcelLAMBDA函数,用于从字符串中提取数字。这是公式
get.numbers=LAMBDA(text,ntext,position,size,VALUE(LET(x,LEN(text),n,position,IF(n>x,ntext,get.numbers(text,IF(ISNUMBER(VALUE(MID(text,n,size))),ntext&MID(text,n,size),ntext),n+1,size)))))
当文本来自单个单元格范围时,该公式运行良好,例如A2,但如果您尝试在溢出范围 ( A2#) 上使用它,它会返回 #NUM!错误。我有另一个LAMBDA函数,它接受一个字符串并从另一个字符串中的特定位置获取一个字符。如果字符是数字,它会将字符连接到给定的字符串。我尝试在 get.numbers 函数中使用此函数,但它返回错误。
我的结论是
- Lambda 函数不能在递归 lambda 函数中使用
- 递归 Lambda 函数无法接受来自溢出范围的数据
有没有办法解决这个问题?