本次的练习是:使用公式来获取字符串的最后一个单词。如下图所示,提取列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的公式,即本文开头的数组公式。
小结
下期预告: Excel公式练习13:统计单元格区域中无效数据数量 如下图所示的工作表,使用公式来统计单元格区域C2:C6中没有出现在单元格区域A2:A9中的数据的数量。 也就是说,单元格区域C2:C6中凡是没有出现在单元格区域A2:A9中的数据,都是无效数据。从工作表中可以明显看出,单元格区域C2:C6中的“SX006”没有出现在单元格区域A2:A9中,因此“SX006”为无效数据,即单元格区域C2:C6中的无效数据为1。 如何使用公式来统计呢? |
|