这段主要是针对西方文字的,中文提取第一个字相当的简单了。提取第一个词要先确定第一个空格的位置然后就可以了,公式如下:=LEFT(A1,FIND(“”,A1)-1);如果A1只包含一个单词时,不存在空格,需要对上面公式进行一下错误处理:=IFERROR(LEFT(A1,FIND(“”,A1)-1),A1)。2003版本以前用:=IF(ISERR(FIND(“”,A1)),A1,LEFT(A1,FIND(””,A1)-1))。 提取最后一个单词要多一些处理步骤,因为FIND函数只能从左到右的查找,确定最后一个空格的位置就是目标。 =RIGHT(A1,LEN(A1)-FIND(“*”,SUBSTITUTE(A1,””,”*”,LEN(A1)-LEN(SUBSTITUTE(A1,“”,””))))),同理这个也是有问题,比如字符串中不包含空格(一个单词),处理方式相同: =IFERROR(RIGHT(A1,LEN(A1)-FIND(“*”,SUBSTITUTE(A1,””,”*”,LEN(A1)-LEN(SUBSTITUTE(A1,“”,””))))),A1),2003以前版本: =IF(ISERR(FIND(“”,A1)),A1, RIGHT(A1,LEN(A1)-FIND(“*”,SUBSTITUTE(A1,””,”*”,LEN(A1)-LEN(SUBSTITUTE(A1,“”,””))))))。 顺便说一句,用提取文件名的公式也能实现这个功能哦。
这个其实也应该放到上一部分中,因为公式都差不多:=RIGHT(A1,LEN(A1)-FIND(“”,A1,1)),同样的,容错处理的公式:=IFERROR(RIGHT(A1,LEN(A1)-FIND(“”,A1,1)),””),2003以前版本: =IF(ISERR(FIND(“”,A1)),””, RIGHT(A1,LEN(A1)-FIND(“”,A1,1)))。
这里的全名中不包括抬头,如果有抬头,下文有处理方法。 提取名字的公式,这个很简单: =IFERROR(LEFT(A1,FIND(“”,A1)-1),A1) 提取中间名就比较复杂了,因为不是所有的姓名中都包含中间名,所有如果有则返回对应的中间名,如果没有就什么都不返回: =IF(LEN(A1)-LEN(SUBSTITUTE(A1,””,””))>1,MID(A1,FIND(“”,A1)+1,FIND(“”,A1,FIND(“”,A1)+1)-(FIND(“”,A1)+1)),””) 最后是姓氏: =IFERROR(RIGHT(A1,LEN(A1)-FIND(“*”,SUBSTITUTE(A1,””,”*”,LEN(A1)-LEN(SUBSTITUTE(A1,””,””))))),””) 下面是结果的图示
英文中的常用抬头包括Mr. ,Dr.,Ms.和Mrs.四种,去除该抬头的公式: =IF(OR(LEFT(A1,2)={“Mr”,”Dr”,”Ms”}),RIGHT(A1,LEN(A1)-(FIND(“.”,A1)+1)),A1)。
计算单元格包含字符串中英文单词的数目首先要找出空格的数量,英文中单词数量比空格数量多一个,由此就可以算出单词的数目。公式如下: =LEN(TRIM(A1))-LEN(SUBSTITUTE(A1,””,””))+1,习惯性的说些特殊情况,如果A1单元格中的内容是空的,该公式会返回1,这是不能忽略的,公式需要修改一下: =IF(LEN(A1)=0,0, LEN(TRIM(A1))-LEN(SUBSTITUTE(A1,””,””))+1)。 |
|