Excel 中没有SUBSTRING功能。我们在Excel中使用诸如MID、LEFT、RIGHT、FIND、LEN、replace、REPT、TRIM和MAX等函数来提取子串。
MID函数
要从字符串的中间提取子字符串,可以在Excel中使用mid函数。
描述:MID函数从位置7 (I)开始,提取3个字符。
LEFT函数
要从字符串中提取最左边的字符,可以使用Excel中的left函数。
要提取破折号前的子字符串(任意长度),可以添加FIND函数。
描述:查找功能找到破折号的位置。从这个结果中减去1,提取最左侧的正确字符数。上面显示的公式简化为左(A1,4-1)。
RIGHT函数
要从字符串中提取最右边的字符,可以在Excel中使用正确的函数。
要提取破折号后的子字符串(任意长度),可以添加len和FIND函数。
=RIGHT(A1,LEN(A1)-FIND('-',A1))
描述:LEN函数返回字符串的长度。函数的作用是:找到破折号的位置。减去这些值以提取正确数量的最右边字符。上面显示的公式被简化为右(A1,6-4)。
提取括号之间的子字符串
提取括号(或大括号、括号、斜线等)之间的子字符串。),在Excel中使用MID和FIND。
1.先看下面的公式。
描述:查找功能找到左括号的位置。加1找到子串的起始位置。上面显示的公式简化为MID(A1,6 1,2)。这个MID函数总是提取2个字符。
2.用返回子字符串长度的公式替换上面公式中的2(第三个参数)。
=MID(A1,FIND('(',A1) 1,FIND(')',A1)-FIND('(',A1)-1)
解释:从右括号的位置减去左括号的位置和值1,找到子字符串的正确长度。
包含特定文本的子字符串
要提取包含特定文本(如@符号)的子字符串,请在Excel中使用“替换”、“报告”、“中间”、“查找”、“修剪”和“最大”。
1.首先,使用replace和REPT将单个空格替换为100个空格(或任何其他大数字)。
2.下面的MID函数从@符号位置之前的50(1/2*大数字)位置开始,提取100个(大数字)字符。
3.使用TRIM功能删除前导和尾随空格。
4.把这些公式放在一起。
=TRIM(MID(replace(A1 ' ',retp(',100))、MAX(1,FIND('@ '、replace(A1 ' ',retp(',100)))-50,100))
注意:在步骤2中,MID功能从@符号位置的前50个位置开始。如果电子邮件地址是句子中的第一个单词(单元格A3),这将导致起始位置为负。在这种情况下,MAX函数(参见上面的公式)返回1。
快速填充
如果不擅长使用公式,可以在Excel中使用快速填充自动提取子字符串。
注意:Excel不会插入公式。如果更改列A中的文本字符串,Excel将不会更新列b中的数字