TEXTSPLIT与BYROW结合处理字符串数组返回异常结果排查
关于TEXTSPLIT与BYROW结合处理字符串数组的异常问题
我测试了以下Excel公式:
=LET(input, {"a,b;c,d;" ; "e,d;f,g;"}, BYROW(input, LAMBDA(item, TEXTJOIN(";",,TEXTSPLIT(item,",",";", TRUE)))) )
按逻辑,TEXTJOIN是TEXTSPLIT的逆操作,输出应该和去掉末尾分号的input一致,也就是{"a,b;c,d" ; "e,d;f,g"},但实际结果并非如此。
不过两种场景下公式能正常运行:
- 用单元格范围作为input时,结果符合预期
- 单个字符串输入时也正常,比如:
=LET(input, "a,b;c,d;", TEXTJOIN(";",,TEXTSPLIT(input,",",";", TRUE)))
返回结果为:a,b;c,d
查TEXTSPLIT官方文档,并没有限制它和BYROW结合处理字符串数组的说明,所以这应该是Excel的一个bug,不是操作失误。大概率是数组常量中的字符串在BYROW迭代时,TEXTSPLIT的解析逻辑出现了异常,导致逆操作没正常执行。
内容的提问来源于stack exchange,提问作者David Leal
相关产品推荐
相关产品推荐

