删除数字字符串中的特殊字符和数字

Remove special characters and numbers in a number string

我想清理一些包含特殊字符和数字的字符串。

我尝试了一些公式来使用包含字母和数字的字符串实现此目的:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C2,"0",""),"1",""),"2",""),"3",""),"4",""),"5",""),"6",""),"7",""),"8",""),"9",""),";#;#",", "),";#","")

但是,我的主要问题是我想清理一个包含数字的字符串,如下所示:

我是否可以通过调整我在第一个示例中使用的公式来实现上面的屏幕截图?由于第一个示例中的公式只会删除字符串中的所有字符。

有趣的挑战,它可能会完成 smarter/shorter,但我想尝试只使用公式(我能想到的另一个选择是使用 PowerQuery):


所以基本上在 B2 中输入:

=TEXTJOIN(", ",TRUE,TEXT(FILTERXML("<t><s>"&SUBSTITUTE(A2,";#","</s><s>")&"</s></t>","//s[string-length(text())>3]"),"0000"))

结果:


Note: It's an array formula and needs to be confirmed through CtrlShiftEnter

直到 MS 将某种 SPLIT 公式引入 DA 公式系列,我认为 FILTERXML 将是您最好的选择。