分享

LAMBDA应用示例:拆分文本为数组

 F2967527 2023-03-19 发布于天津

本文使用LAMBDA函数创建一个将文本拆分成数组的自定义函数,如下图1所示。
图片
1
SplitTextToArray函数使用逗号(”,”)作为分隔符拆分单元格B3中的文本。
首先,编写Excel公式来完成任务,以确保公式逻辑正确。Excel公式为:
=TRANSPOSE(FILTERXML('<x><y>'&SUBSTITUTE(B3,',','</y><y>')&'</y></x>','//y'))
这个公式将原始文本转换为初始XML格式,然后使用FILTERXML函数解析XML
确保公式正确运行后,将公式转换为通用的LAMBDA公式。需要两个输入参数:一个是要被拆分的文本,一个是拆分时使用的分隔符。第三个参数则根据前两个参数计算出结果。
LAMBDA公式如下:
=LAMBDA(text,delim,TRANSPOSE(FILTERXML('<x><y>' & SUBSTITUTE(text,delim,'</y><y>')&'</y></x>','//y')))
在工作表中测试上面的公式:
=LAMBDA(text,delim,TRANSPOSE(FILTERXML('<x><y>'&SUBSTITUTE(text,delim,'</y><y>')&'</y></x>','//y')))(B3,',')
确保公式是正确的结果后,使用名称管理器定义名称。
名称:SplitTextToArray
引用位置:=LAMBDA(text,delim,TRANSPOSE(FILTERXML('<x><y>'&SUBSTITUTE(text,delim,'</y><y>')&'</y></x>','//y')))
如下图2所示。
图片
2
这个自定义函数允许拆分其它分隔符联结的文本,例如,拆分由空格分隔的文本:
=SplitTextToArray(B3, “ ”)
拆分由连字号分隔的文本:
=SplitTextToArray(B3, “-”)
注:有兴趣的朋友可以到知识星球App完美Excel社群下载本文示例工作簿。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多