
如果有一长段的英文,如何快速取出第一个单词?
假设A1是如下句子:
The quick brown fox jumps over a lazy dog
思路就是找到第一个空格的位置,从左边取,到空格的位置减1
于是公式来了
=LEFT(A1,FIND(" ",A1)-1)
如何提取最后一个单词?
思路就是找A1单元格,从右边取,取多长呢?
取的长度为总长度减去最后一个空格的位置的长度。
如何查找最后一个空格的位置?
策略是将最后一个空格替换为*
然后查找*号的位置。
=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-
LEN(SUBSTITUTE(A2," ","")))))
举例
The quick
如果需要取出右边的quick
先计算出空格的位置,这里是第4位。
就是从右边取总长度减4位。
=RIGHT(A1,LEN(A1)- FIND(" ",A1))
但是FIND函数不方便查出最后一个空格的位置。
而SUBSTITUTE 最后一个参数可以指定替换第几次出现的,假设将最后一个空格替换为*号,再次查找*的位置其实就是原来最后一个空格的位置。
如何计算出最后一个空格的位置?
可以先统计出有几个空格。
总长度减去把所有空格替换为空之后的长度就是空格的长度。
使用以下公式可以统计出空格的数目。
LEN(A1)-LEN(SUBTITUTE(A1, " ","")
假设把最后一个空格替换为*,那么*所在的位置就是最后空格所在的位置。
=SUBSTITUTE(A1, " ","*",1)替换第一个空格为*
=SUBSTITUTE(A1, " ","*",3)替换第三个空格为*
如下公式可以把最后一个空格替换为*
=SUBSTITUTE(A1, " ","*", LEN(A1)-LEN(SUBTITUTE(A1, " ",""))
把以上理解了,就很好理解以下公式
提取第二个单词,思路就是MID从中间取,第一个空格之后,第二个空格之前的字符
=MID(A2,FIND("*",SUBSTITUTE(A2," ","*",1))+1,FIND("*",SUBSTITUTE(A2," ","*",2))-1-
FIND("*",SUBSTITUTE(A2," ","*",1)))
提取第三个单词,思路就是用MID从中间提取,第二个空格之后,第三个空格之前的字符。
=MID(A2,FIND("*",SUBSTITUTE(A2," ","*",2))+1,FIND("*",SUBSTITUTE(A2," ","*",3))-1-
FIND("*",SUBSTITUTE(A2," ","*",2)))
现在从一句话中提取第几个单词就如囊中取物
这个公式可以先收藏,保留,以备急用
子曰:用之则行,不用则藏。
意思是说,如果你用我的这些建议,就马上行动,知行合一,如果你不用,就赶紧收藏,以绝后患。