中 | 左 | 右 | 括号之间的子串 | 包含特定文本的子字符串 | 闪光填充
Excel中没有SUBSTRING函数。在Excel中使用MID,LEFT,RIGHT,FIND,LEN,SUBSTITUTE,REPT,TRIM和MAX函数提取子字符串。
中
要提取从字符串中间开始的子字符串,请在Excel中使用MID函数。
说明:MID函数从位置7(O)开始并提取6个字符。
剩下
要从字符串中提取最左边的字符,请在Excel中使用LEFT函数。
要在破折号前提取子串(任意长度),请添加FIND函数。
说明:FIND函数找到破折号的位置。从该结果中减去1,以提取正确数量的最左边字符。上面显示的公式简化为LEFT(A1,4-1)。
对
要从字符串中提取最右边的字符,请在Excel中使用RIGHT函数。
要在破折号后提取子串(任意长度),请添加LEN和FIND函数。
说明:LEN函数返回字符串的长度。FIND函数查找破折号的位置。减去这些值以提取正确数量的最右边字符。上面显示的公式简化为RIGHT(A1,6-4)。
括号之间的子串
若要提取括号(或花括号,方括号,斜杠等)之间的子字符串,请在Excel中使用MID和FIND函数。
1.以下公式几乎是完美的。
说明:FIND函数找到左括号的位置。加1以找到子字符串的开始位置。上面显示的公式简化为MID(A1,6 + 1,2)。此MID函数始终提取2个字符。
2.用一个返回子字符串长度的公式替换2(第三个参数)。
说明:从右括号的位置减去左括号的位置和值1,以找到正确的子串长度。
包含特定文本的子字符串
若要提取包含特定文本(例如,@符号)的子字符串,请在Excel中使用SUBSTITUTE,REPT,MID,FIND,TRIM和MAX函数。
1.首先,使用SUBSTITUTE和REPT函数将单个空格替换为100个空格(或任何其他大数)。
2.对于下面的MID功能,在@符号的位置之前开始50个(1/2 *大数字)位置,并提取100个(大数字)字符。
3.使用TRIM功能删除前导和尾随空格。
4.全部放在一起。
注意:在第2步,MID函数在@符号的位置之前开始50个位置。如果电子邮件地址是句子中的第一个单词(单元格A3),则会导致起始位置为负。在这种情况下,MAX函数(请参见上面的公式)返回1。
闪光填充
如果您不是公式英雄,请在Excel中使用Flash Fill自动提取子字符串。
注意:Excel不会插入公式,如果更改A列中的文本字符串,Excel将不会更新B列中的数字。