分享

30 提取单元格内任意汉字的通用公式

 坚定前行 2023-08-19 发布于陕西
在单元格内除了数字的拆分,还有一些其它需求,如拆分本、字母、特殊字符等,每一类都需要根据不同的情况来拆分,当然有规律的话当然是非常方便,这里强调的就是有一些简单的规律和完全无规律的如何处理?
提取文本在生产计划中是一个非常高频的工作。举例说明,如一些产品零件的描述特别多、特别长,需要把里面的文本直接提取出来,如一些带工艺要求的,把工艺要求提取出来;

图片

01 找规律:
对于需要提取的单元格内容,第一个方法就是找规律,虽然说文本长度、文本位置都不固定,但是很有能可能在分拆的单元格中有一些分隔符号如:空格、“、”,“-”等;利用这些符号可以进行分列,再抓取合并;常见的找规律方法有如下:
1. 定位关键字词:如提取颜色:找到“色”这个关键字的位置,向前或是向后提取就可以了;
2. 定位关键符号:如在描述中经常看现的“\”、“-”、“_”、“(”等;

图片

02 有分隔符号:
这是最为常见的分拆的方法,可以按下面步骤快速地把单元格中的内容按分隔符号快速分拆成多个单元格,最后再找到对应的文本;
使用限制:必须有规律,有分隔符号;
操作步骤:选中数据→复制数据到其它区域→开始→数据→分列→分隔符号→选择对应的分隔符号(默认有逗号、空格等,没有的话在其他对话框中输入);

图片

这一步只做了分拆,对于文本的判断还是需要人工校对,所以还是不能达到快速分离的目的

图片

03 无规律的提取:
分拆提取的最好方法是不管文本位置在哪都可以取出来,这里古哥分享函数的方法,这个方法的思路就是通用思路,把单元格内的所有文本都分成一个一个单元格后,再判定是文本后再合并;
1. 判断分拆文本长度
因为需要分拆的文本的长度不知道,是变量,所以需要动态判断,用函数LEN来判断; LEN 函数是返回文本字符串中的字符个数,空格也将作为字符进行计数;

图片

2. 生成分拆MID的开始数字
条件1判断需要分拆的长度是17个字符,所以我们需要用函数生成一组数据1、2、3、……;用函数SEQUENCE,这个函数是用来在数组中生成一系列连续数字;如下图:

图片

3. MID函数批量分拆
此时用函数MID就可以批量分拆成一个一个单元格了,因为已经连续生成了1、2、3……。相当于MID函数的第一个参数,需要分拆提取的文本,第二个参数在文本中提取的第一个字符的位置,第三个参数固定长度为1,理解为,从第一个字符开始,提取1个长度,然后第二个字符,再提取2个长度;以此类推得出下图;

图片

4.判断汉字
汉字在Excel中可以用一个小技巧判断,就是利用“吖”来判断;因为“吖”是在Excel最小汉字,小于这个汉字的一定不是汉字;
同理也要记住最大汉字:“咗”;

图片

5. IF函数保留汉字
IF函数的条件判断为:TRUE为空,FALSE返回MID的分拆数据;

图片

6. CONCAT函数合并成一个单元格
最后用CONCAT函数合并在一起;  

图片

结论:
通过上面的一系列分解,得出通用公式:
只需要把B17换成需要提取的文本就可以提取任意文本了;
=CONCAT(IF(MID(B17,SEQUENCE(LEN(B17)),1)<'吖','',MID(B17,SEQUENCE(LEN(B17)),1)))
下图中不管有无特殊字符,还是数字都自动过滤了,只保留了文本;

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多