为什么=SPLIT("1,2-5,4", ",")
等于
1
42040
4
而不是
1
2-5
4
?
我将所有单元格都以纯文本格式化。
答案 0 :(得分:5)
Regextract应该为您提供所需的输出。尝试:
=ArrayFormula(regexextract("1,2-5,4", {"^(\d+),",",(.+),",",(\d+)$"}))
答案 1 :(得分:3)
补充JPV的答案。
您可以使用:
=REGEXEXTRACT(A1,"(.*?),(.*?),(.*)")
“硬编码”正好分裂3个元素(就像JPV一样)。为了提供更大的灵活性,您可以使用以下内容:
=REGEXEXTRACT(A1&REPT(",",10),REPT("(.*?),",10))
限制为最多10个元素(该数字可以更改为适合)。但是,它将输出一个总是最大元素长度的数组(用空白单元格填充)。您可以使用QUERY或FILTER过滤掉这些空白单元格 - 公式将变得有点复杂。
或者,你可以“编码”你的字符串,以避免自动日期强制,然后在SPLIT之后“解码”它:
=ArrayFormula(SUBSTITUTE(SPLIT(SUBSTITUTE(A1,"-","x"),","),"x","-"))
答案 2 :(得分:0)
在单元格中使用1,2-5,4
,可以根据需要拆分数据>将文本拆分为列......