今天教程源于前天一位同学在微信上的提问:要把客户下单数据快速分类做表格
针对这样的问题,如果只是一次性操作用技巧完成并不难,只需要先进行分列再转置,最后用Ctrl+E逐列提取数据。
但针对这位同学的问题,客户是要源源不断的下单的,所以很有必要用公式做成自动转换的,以后可以一直用。
要把如此复杂的字符串转换成表格,用公式还真的不容易,特别是汉字和数字混合且没有分隔符。
没有分符隔,我们可以用正则函数添加上。
Excel365版
=REGEXREPLACE(B2,"(\d+\.?\d*)",";$1;")
公式说明:
\d+ :整数
\.? :可有可无的小数点
\d* :可有可无的整数
( ):加括号可以被后面替换内容引用
;$1; :$1引用第2个参数第1个括号内内容,两边加;是我们加的分隔符。
需要特别注意的是WPS表格和Excel的正则函数不同,而且同法也不同,同学们一定要收藏起来,以后怕你再也找不到了。
WPS和Excel区别
函数拼写不一样,Excel正则有3个,分别是提取(REGEXEXTRACT)、替换(REGEXREPLACE)、判断(REGEXTEST),而WPS只有一个Regexp,它集3个功能为一身,用第3个参数区别模式,0提取1判断2替换。
参数使用不一样,上面已介绍
正则代码不同,如下面公式中,WPS引用前面括号的内容要用\1,而Excel则是$1
WPS公式:
我们这么费力的加分隔符干嘛,嘿嘿,是为textsplit(字符串,行分隔符,列分隔符)制造行列分隔符的。
最终公式
Excel版:
=TEXTSPLIT(REGEXREPLACE(B2,"(\d+\.?\d*)",";$1;"),";",",",1)
WPS版:
兰色说:在兰色的函数大全教程中已添加了很多新函数,但正则函数一直还没添加进来,原因是了解正则表达式的同学都知道,一但涉及正则,相当于打开另一个世界的大门,兰色就是用一个月也讲不完它的用法,所以兰色准备再花时间收集它最最常用的,分上中下三集录成视频讲解添加教程中。