[摘要]Excel中如何将干净混合数据中的汉字和数字分离?混合数据分离出纯数字和非数字,并分别排列于两列内。汉字或字母与数字混合图例这个问题可以从这方面进行思考,首先把...
Excel中如何将干净混合数据中的汉字和数字分离?
混合数据分离出纯数字和非数字,并分别排列于两列内。

汉字或字母与数字混合图例
这个问题可以从这方面进行思考,首先把非数字的字符提取出来,数字中有小数点,可以把小数点替换掉,只保留非数字的字符。
下面通过excel365新函数来把数字和非数字的字符分离出来,并排成两列数据表。
先上公式:
=LET(h,TEXTSPLIT(TEXTJOIN(",",,MAP(A1:A3,LAMBDA(x,LET(m,ROW(1:10)-1,TEXTJOIN(",",,TEXTSPLIT(x,m,".",1)))))),,","),s,TEXTSPLIT(TEXTJOIN(",",,MAP(A1:A3,LAMBDA(y,TEXTJOIN(",",,TEXTSPLIT(y,,h,1))))),,","),HSTACK(h,s))
公式执行的结果如下图所示:

结果示图
1.MAP(A1:A3,LAMBDA(x,LET(m,ROW(1:10)-1,TEXTJOIN(",",,TEXTSPLIT(x,m,".",1))))),这个的意思是通过MAP函数来纯数字和小数点替换掉,保留所有的非数字字符,即把数字分离出来。这个执行的结果如下图所示:

结果示图
2.通过LET函数来定义第1变量h,h的变量内容为TEXTSPLIT(TEXTJOIN(",",,MAP(A1:A3,LAMBDA(x,LET(m,ROW(1:10)-1,TEXTJOIN(",",,TEXTSPLIT(x,m,".",1)))))),,","),即h就是把MAP函数执行的结果通过TEXTJOIN函数连接到一起,再通过TEXTSPLIT函数进行拆分,最后得到非数字的字符,并排成一列数据。这个变量内容的计算表达式执行结果如下图所示:

结果示图
3.LET函数来定义第2变量s,s的变量内容为TEXTSPLIT(TEXTJOIN(",",,MAP(A1:A3,LAMBDA(y,TEXTJOIN(",",,TEXTSPLIT(y,,h,1))))),,","),即s就是把非数字替换掉保留纯数字字符,并把数字排成一列数据,且这个计算表达式还用到了LET定义的第1个变量h。这个变量内容的计算表达式执行结果如下图所示:

结果示图
4.最后通过HSTACK函数把分离成h,s的两列数据横向堆叠成一个数据表,即公式执行的结果。如图所示:

结果示图
这个是excel365函数来拆分数字和非数字字符的操作之一,如果帮到你请别忘了点个赞!!
Excel中如何将干净混合数据中的汉字和数字分离?
情景设定:
对于分离混合数据中的汉字和数字,我们首先设定一个比较常见的情景:当前有一列企业银行账号数据,每行数据由一串汉字和一串数字组成,汉字与数字的位数均不固定,要求将汉字和数字分别拆分至两列。

问题思考:
①对于该类问题大部分人第一反应是使用函数来完成,但这个问题明显要进行多层嵌套,涉及字符提取/判断等多种函数,逻辑复杂且适用范围窄;
②换个思路可以用Ctrl+E快速填充功能来实现,但这个功能只适用于比较简单的数据提取,当提取规则比较复杂时,出错概率大大增加;
③分列功能适用范围更窄明显无法解决本问题;
④VBA对编程基础有一定要求不适用于普遍用户;
经过层层筛选,我选择使用专职于数据整理的PowerQuery功能来解决本问题。
Step1.将数据加载到PowerQuery中
全选数据区域,依次点击“数据”选项卡——“从表格”。
进入PowerQuery界面如下:

Step2.插入自定义列提取银行名称和银行账号
打开“视图”选项卡下面的“高级编辑器”,如图:

在高级编辑器中编写两条自定义列的M语句,分别用于提取银行名称和银行账号,全部代码如下:
let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
更改的类型 = Table.TransformColumnTypes(源,{{"企业银行帐号", type text}}),
提取银行名称= Table.AddColumn(更改的类型, "银行名称", each Text.Remove([企业银行帐号],{"0".."9"})),
提取银行账号 = Table.AddColumn(提取银行名称, "银行账号", each Text.Remove([企业银行帐号],{"一".."龢"}))
in
提取银行账号

点击完成后结果如下:
Step3.将结果返回工作表
点击“关闭并上载至”,将结果以表的形式返回至工作表中。

更厉害的是,后续原始数据如果有更新,直接点击“数据”选项卡下面的“全部刷新”即可瞬间自动得到最新的提取结果。

「精进Excel」系头条签约作者,关注我,如果任意点开三篇文章,没有你想要的知识,算我耍流氓!