前天跟大家分享了如何在Excel数据中提取所有数字,有小伙伴就私信问:“Excel如何提取字母?”。今天就跟大家重新分享一下从无规律的Excel数据中提取字母、数字或者汉字的方法和技巧,职场必备,高手未必全会!
如下图所示,我们需要从表格中的授权码编号中拆分提取出无规律的字母、数字、汉字。
一、拆分提取字母
在目标单元格中输入公式:
=LET(字母_,MID(B2,ROW($1:$99),1),CONCAT(IF((字母_>="A")*(字母_<="Z"),字母_,"")))
点击回车下拉填充数据即可
解读:
公式中使用了LET函数,LET函数主要作用是将计算结果分配给名称,可以通过定义的名称来计算结果。
语法:=LET(名称1,名称1值,名称2,名称2值……,结果表达式)
①第1参数:名称可以自定义,公式中定义为“字母_”,在后面的表达式中可以直接使用
②第2参数:名称值就是通过MID(B2,ROW($1:$99),1)把B2单元格每个字符单独提取出来,ROW($1:$99)表示分别从第1到第99个字符开始截取,如果字符串超过100位,就把99调大即可。
③第3参数:结果表达式就是最终返回的结果值,CONCAT(IF((字母_>="A")*(字母_<="Z"),字母_,"")),就是用提取出来的每个字符与字母A和Z比较,只有大与等于A且小于等于Z的保留,其他都变成空,这样就提取出所有字母了。
最后再使用最后用CONCAT函数把所有字母连接到一起即可
二、拆分提取数字
在目标单元格输入公式:
=CONCAT(IFERROR(--MID(B2,ROW($1:$99),1),""))
然后点击回车,下拉填充数据即可
解读:
①首先公式中MID(B2,ROW($1:$99),1)的意思就是在B2单元格把每个字符单独提取出来,ROW($1:$99)表示分别从第1到第99个字符开始截取,如果字符串超过100位,就把99调大即可。
②然后再前面加上双减号“--”就是减负运算,这样如果是数字转换后还是数字,如果是逻辑值或者是文本就会返回错误值
③然后在使用IFERROR函数过滤掉错误值,是错误值的话返回空,最后用CONCAT函数把所有数字连接到一起即可
三、拆分提取汉字
在目标单元格输入公式:
=CONCAT(IF(LENB(MID(B2,ROW($1:$99),1))=2,MID(B2,ROW($1:$99),1),""))
然后点击回车,下拉填充数据即可
解读:
公式中主要是利用字符的单双字节区分来提取汉字,LENB函数把每个汉字计为2个字节,数字和单字节字母计为1个字节。
①同样先使用MID(B2,ROW($1:$99),1)把单元格中的每个字符单独提取出来。
②然后使用IF函数判断当字节等于2时保留,否则都是空,最后再使用最后用CONCAT函数把所有汉字连接到一起即可。
以上就是Excel拆分提取无规律的字母、数字、汉字方法技巧,三个公式分别对应3种需求,大家可以直接套用公式,把参数改成自己的就可以。
评论 (0)