excel提取固定文字开头后面的内容(Excel提取第一个与最后一个文本)

前言

昨天小必老师准备了一天的素材,在一段含有中文,英文大小写与数字的文本字符串中提取指定的第一个与最后一个出现的位置。通过这些技巧的学习,感觉Excel中公式与函数的魅力,或许你会被这个神奇的东西吸引。此篇文章属于本公众号所有,如需转载,请注明出处与作者。

如下图所示,是三段文本串,要求写出通用的公式。

excel提取固定文字开头后面的内容(Excel提取第一个与最后一个文本)(1)

1汉字的位置

第1个汉字出现的位置

在B2单元格中输入公式,按组合键<Ctrl Shift Enter>完成后向下填充:

{=MATCH(" ",MIDB(A2,ROW(INDIRECT("1:"&LEN(A2))),1),0)}

最后1个汉字出现的位置

在C2单元格中输入公式,按组合键Enter完成后向下填充:

=LOOKUP(1,0/(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)>="吖"),ROW(INDIRECT("1:"&LEN(A2))))

excel提取固定文字开头后面的内容(Excel提取第一个与最后一个文本)(2)

2数字的位置

第1个数字出现的位置

在B2单元格中输入公式,按组合键<Ctrl Shift Enter>完成后向下填充:

【公式1】

{=MIN(FIND(ROW($1:$10)-1,A2&1/17))}

【公式2】

{=MATCH(TRUE,ISNUMBER(--MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)),0)}

【公式3】

{=MIN(FIND(ROW($1:$10)-1,A2&"0123456789"))}

【公式4】

{=MIN(FIND(ROW($1:$10)-1,A2&5^19))}

注意:这里给大家提供了4种方法,都是可以计算第一个数字出现的位置。

最后1个数字出现的位置

在B2单元格中输入公式,按组合键<Ctrl Shift Enter>完成后向下填充:

【公式1】

{=MAX(IF(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1)),ROW(INDIRECT("$1:$"&LEN(A2)))))}

【公式2】

=LOOKUP(1,0/MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1),ROW(INDIRECT("$1:$"&LEN(A2))))

注:第2个公式按Enter键完成后向下填充即可。

excel提取固定文字开头后面的内容(Excel提取第一个与最后一个文本)(3)

3英文字母的位置

注:这个例子里面的英文字母暂时不区分大小写。

第1个英文字母出现的位置

在B2单元格中输入公式,按组合键<Ctrl Shift Enter>完成后向下填充:

{=MIN(IFERROR(FIND(CHAR(ROW($65:$90)),A2),4^8),IFERROR(FIND(CHAR(ROW($97:$122)),A2),200))}

最后1个英文字母出现的位置

在B2单元格中输入公式,按组合键<Ctrl Shift Enter>完成后向下填充:

【公式1】

{=MAX(IF(ISNUMBER(PERCENTRANK({65;90},CODE(UPPER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))))),ROW(INDIRECT("1:"&LEN(A2)))))}

【公式2】

=LOOKUP(1,0/NOT(EXACT(UPPER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)),LOWER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)))),ROW(INDIRECT("1:"&LEN(A2))))

注:第2个公式按Enter键完成后向下填充即可。

excel提取固定文字开头后面的内容(Excel提取第一个与最后一个文本)(4)

4大写英文字母的位置

第1个大写英文字母出现的位置

在B2单元格中输入公式,按组合键<Ctrl Shift Enter>完成后向下填充:

{=MIN(IF(ISERROR(FIND(CHAR(64 ROW($1:$26)),A2)),1000,FIND(CHAR(64 ROW($1:$26)),A2)))}

最后1个大写英文字母出现的位置

在B2单元格中输入公式,按组合键Enter完成后向下填充:

=LOOKUP(65,FIND(CHAR(ROW($65:$90)),A2))

excel提取固定文字开头后面的内容(Excel提取第一个与最后一个文本)(5)

5小写英文字母的位置

第1个小写英文字母出现的位置

在B2单元格中输入公式,按组合键<Ctrl Shift Enter>完成后向下填充:

{=MIN(IF(ISERROR(FIND(CHAR(96 ROW($1:$26)),A2)),4^8,FIND(CHAR(96 ROW($1:$26)),A2)))}

最后1个小写英文字母出现的位置

在B2单元格中输入公式,按组合键Enter完成后向下填充:

=LOOKUP(97,FIND(CHAR(ROW($97:$122)),A2))

注:第二个公式如果有相同的字母出现两次及以上的,公式可能会不准确,待定修改。

excel提取固定文字开头后面的内容(Excel提取第一个与最后一个文本)(6)

此篇文章的目的在于培养大家对于Excel公式函数的学习兴趣,公式与函数是一个神奇的东西,也是Excel的精髓所在。另外附上具体的解法与素材,如有不准确的地方,请大家予以留言指正。下载链接:

https:///s/1G2lX7usMiIas_o-UDCsNSg

提取码:jh20

复制这段内容后打开百度网盘手机App,操作更方便哦

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页