LEFT函数从最左边提取字符
RIGHT函数从最右边提取字符
MID函数从任意位置提取字符
FIND函数精确查找字符位置
SEARCH函数模糊查找字符位置
这几个函数组合起来,能拆分和提取各类规则或不规则文本。
一、LEFT+FIND或者LEFT+SEARCH(可提取指定字符左边所有内容)
示例:提取@前的邮箱名

首先,定位@这个字符的位置,公式=FIND("@",A2)。
其次,将上面的公式减去1,这一步,是为了去年@本身这个符号,只保留@前面的所有字符。
最后,用LEFT函数,直接提取@前面的所有字符。
公式=LEFT(A2,FIND("@",A2)-1)
示例中不涉及查找大小写和通配符,所以用SEARCH函数是一样的效果。
公式=LEFT(A2,SEARCH("@",A2)-1)
二、RIGHT+FIND或者RIGHT+SEARCH(可提取指定字符右边所有内容)
示例:提取空格后的品牌名

如果这个示例,大家按第一个示例那样提取,是无法成功的。这个示例用RIGHT函数进行相应的提取时,要搭配LEN函数。
原因在哪里?这是因为FIND、SEARCH函数都是从前往后查找字符的,而RIGHT函数是从最右边开始提取,所以需要LEN函数来校准位置。
首先,找到空格在文本中的位置,公式=FIND(" ",A2)。
其次,统计整个文本的字符数,公式=LEN(A2)。
接着,将总字符数减去空格的位置,就可以算出空格后面还有多少字符,公式=LEN(A2)-FIND(" ",A2)。
最后,从整个文本最右边提取空格后面的字符。
公式=RIGHT(A2,LEN(A2)-FIND(" ",A2))
示例中不涉及查找大小写和通配符,所以用SEARCH函数是一样的效果。
公式=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
三、MID+FIND或者MID+SEARCH(可提取指定字符任意内容)
示例:提取@后,小数点前的服务商域名

首先,找到@后面第一个字符的位置,公式=FIND("@",A2)+1,这个就是MID函数的第2参数,即开始位置,比如B2是从第5位开始找。
其次,要计算提取的字符个数,这是MID函数的第3参数,但示例中的文本长度不同,需要提取的字符个数也不同,这就需要计算下要提取的长度。
这里将接触FIND函数第3个参数的用法,通常这个参数默认是1,即从第一位字符开始。
公式=FIND(".",A2,FIND("@",A2)),比如B2中.com在第7位。
为什么不直接把公式写为FIND(".",A2),第3参数非要把FIND("@",A2)作为开始位置,那是因为示例中要从@后面开始找,找@后面的第一个点,这样确保找到的是域名中的点,若是整个文本中还有其它的点,那么直接用FIND(".",A2),结果就不对了。
然后继续计算要提取的长度,而具体的长度,介于@和点之间,我们用点所在的位数减去@所在的位数,再减去1(把点本身去掉),就是服务商域名的位数。
公式=FIND(".",A2,FIND("@",A2))-FIND("@",A2)-1
即7-4-1=2,就是2位字符qq。
最后,用MID函数进行提取:
公式=MID(A2,FIND("@",A2)+1,FIND(".",A2,FIND("@",A2))-FIND("@",A2)-1)
示例中不涉及查找大小写和通配符,所以用SEARCH函数是一样的效果。
公式=MID(A2,SEARCH("@",A2)+1,SEARCH(".",A2,SEARCH("@",A2))-SEARCH("@",A2)-1)
夜雨聆风