excel取前面几个字符的公式(excel提取不规则字段)


Excel 中没有SUBSTRING函数。我们在 Excel 中使用 MID、LEFT、RIGHT、FIND、LEN、SUBSTITUTE、REPT、TRIM 和 MAX等函数 来提取子字符串。

MID函数

要从字符串中间开始提取子字符串,可以使用 Excel 中的 MID 函数。

Excel文本函数-提取子字符串

说明:MID 函数从位置 7 (I) 开始,提取 3个字符。

LEFT函数

要从字符串中提取最左边的字符,可以使用 Excel 中的 LEFT 函数。

Excel文本函数-提取子字符串

要在破折号前提取子字符串(任意长度),可以加上 FIND 函数。

Excel文本函数-提取子字符串

说明:FIND 函数查找破折号的位置。从此结果中减去 1 以提取最左边的正确字符数。上面显示的公式简化为 LEFT(A1,4-1)。

RIGHT函数

要从字符串中提取最右边的字符,可以使用 Excel 中的 RIGHT 函数。

Excel文本函数-提取子字符串

要提取破折号后的子字符串(任意长度),可以加上 LEN 和 FIND函数。

Excel文本函数-提取子字符串
=RIGHT(A1,LEN(A1)-FIND("-",A1))

说明:LEN 函数返回字符串的长度。FIND 函数查找破折号的位置。减去这些值以提取正确数量的最右边的字符。上面显示的公式简化为 RIGHT(A1,6-4)。

提取括号之间的子字符串

要提取括号(或大括号、方括号、斜线等)之间的子字符串,请在 Excel 中使用 MID 和 FIND。

1.首先看下面的公式。

Excel文本函数-提取子字符串

说明:FIND 函数查找左括号的位置。添加 1 以查找子字符串的起始位置。上面显示的公式简化为 MID(A1,6+1,2)。此 MID 函数始终提取 2 个字符。

2. 用返回子字符串长度的公式替换上面公式中的 2(第三个参数)。

Excel文本函数-提取子字符串
=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)

解释:从右括号的位置减去左括号的位置和值1,找到子串的正确长度。

包含特定文本的子字符串

要提取包含特定文本(例如 @ 符号)的子字符串,请在 Excel 中使用 SUBSTITUTE、REPT、MID、FIND、TRIM 和 MAX。

1. 首先,使用 SUBSTITUTE 和 REPT 将单个空格替换为 100 个空格(或任何其他大数)。

Excel文本函数-提取子字符串

2.下面的MID函数从@符号位置前的50(1/2*大数字)位置开始,提取100(大数字)字符。

Excel文本函数-提取子字符串

3. 使用TRIM 函数删除前面和后面空格。

Excel文本函数-提取子字符串

4. 把这些公式放在一起。

Excel文本函数-提取子字符串
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",100)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",100)))-50),100))

注意:该步骤 2 中,MID 函数从 @ 符号位置前 50 个位置开始。如果电子邮件地址是句子中的第一个单词(单元格 A3),这将导致开始位置是负数。在这种情况下,MAX 函数(参见上面的公式)返回 1。

快速填充

如果你不擅长使用公式,可以使用Excel 中的快速填充来自动提取子字符串。

Excel文本函数-提取子字符串

此处需要注意:Excel 不会插入公式,如果你更改 A 列中的文本字符串,Excel 将不会更新 B 列中的数字。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论