使用公式来获取字符串的最后一个单词。如下图所示,提取列A单元格中字符串的最后一个单词,将其放置到列C相应的单元格中。
先不看下面的内容,自已试一试。
公式思路
首先查找字符串中空格最后一次出现的位置,然后从该位置起提取字符串结尾部分的单词。
公式解析
在单元格C1中输入数组公式:
=RIGHT(A1,MATCH(“”,MID(A1,LEN(A1)-ROW(INDIRECT(“1:” & LEN(A1)))+1,1),0)-1)
向下拖动至单元格C2,结果如下图所示。
为方便对数组公式的理解,先以单元格A1中的字符串为例,一步一步导出适用的公式。
第1步:如下图所示,由于列A中的字符串共14个字符,因此在B列中选取单元格区域B1:B14,输入数组公式:
=ROW(INDIRECT(“1:” & LEN(A1)))
得到一个包含从1至14的连续数字的数组并将其放置在单元格区域中。
第2步:选择单元格区域C1:C14,输入数组公式:
=LEN(A1)-B1:B14+1
得到与列B中数字逆序的数组并放置在单元格区域中。
第3步:选择单元格区域D1:D14,输入数组公式:
=MID(A1,C1:C14,1)
使用MID函数按C1:C14中的数字从A1中的最后一个字符开始提取字符,并放置在单元格区域中。
第4步:在单元格E1中输入公式:
=MATCH(” “,D1:D14,0)
使用MATCH函数查找空格出现的位置。因为已经将A1中的字符串逆序排列,所以该位置就是原字符串中最后一个空格的位置。
第5步:在单元格F1中输入公式:
=LEN(A1)-E1+1
得到单元格A1字符串中最后一个空格的位置。
第6步:使用下面的公式:
=LEN(A1)-(LEN(A1)-E1+1)
得出字符串中最后一个单词的字符数,即字符串总的字符数减去最后一个空格在字符串中的位置的结果。
第7步:使用下面的公式:
=RIGHT(A1,LEN(A1)-(LEN(A1)-E1+1))
获取字符串中最后一个单词。
将最后得到的公式依次使用前一步得到的公式替换,最终得到只包含A1的公式,即本文开头的数组公式。
小结
本文提供了从字符串的结尾开始查找指定字符第一次出现的位置的一种方法。
在第4步中,其实已经得出了逆序排列时最后一个空格的位置,减去1即为最后一个单词的字符数。然后,将其直接作为RIGHT函数的参数,即可得到结果。
一步一步得出中间结果,然后再逐步替换得到最终的公式,这是编写大公式的一个通用方法。