在Excel中合并首字母和最后一个单词


0

我有一个用户名电子表格。名字和姓氏在同一单元格中。是否存在一个公式来采用第一个单词的第一个字母和整个第二个单词?

例如; 单元格A1有乔恩·史密斯。
单元格B1应该有JSmith

Answers:


1

如果您想要第二个单词,则公式为:

=LEFT(A1)&MID(A1,IFERROR(FIND(" ",A1),LEN(A1))+1,IFERROR(FIND(" ",SUBSTITUTE(A1," ","",1)),LEN(A1))-IFERROR(FIND(" ",A1),LEN(A1)))

它的工作方式如下:

LEFT(A1) 拉出单元格中的第一个字符

MID(A1,[MESS 1],[MESS 2]提取以字符开头[MESS 1]并包括[MESS 2]字符的中间文本

IFERROR(FIND(" ",A1),LEN(A1))+1在单元格中第一个空格之后查找字符,或者,如果没有空格,则查找文本的末尾(这将使该MID函数不返回任何内容,这是可以的,因为没有第二个单词

IFERROR(FIND(" ",SUBSTITUTE(A1," ","",1)),LEN(A1))查找单元格中的第二个空格;如果没有第二个空格,则查找单元格的末尾。如果只有一个空格,它将找到我们想要的第二个单词的结尾。

-IFERROR(FIND(" ",A1),LEN(A1))从第二空间位置减去第一空间位置。这给了我们第二个单词的长度,这正是我们需要的MID功能。




如果要说最后一个字,公式为:

=LEFT(A1) & MID(A1,IFERROR(FIND("ÿ",SUBSTITUTE(A1," ","ÿ",(LEN(A1)-LEN(SUBSTITUTE(A1," ","")))/LEN(" "))),LEN(A1))+1,LEN(A1))

它的工作方式如下:

LEFT(A1) 拉出单元格中的第一个字符

MID(A1,[MESS 3],[MESS 4]提取以字符开头[MESS 3]并包括[MESS 4]字符的中间文本

IFERROR([MESS 5],LEN(A1))+1在单元格中最后一个空格之后找到字符。如果没有空格,它将返回单元格的长度,这将使MID任何内容都不返回,这是可以的,因为除非您将第一个单词算作最后一个单词,否则没有最后一个单词,但这不是我们想要的。[MESS 5]是在单元格中查找字符最后一个实例的常用公式。Stack Exchange上有一个解释。

LEN(A1)返回单元格的长度。既然我们要说最后一句话,我们可以说到MID最后。


1

干得好 :

= CONCATENATE(LEFT(A1,1),B1)

要么

= left(A1,1)和B1


1
我认为这不太正确,因为B1单元格应该由该函数创建。B1应该包含“ = LEFT(A1,1)&RIGHT(A1,5);”
Valinho 2015年

使用文本到列,以空格分隔。这会将name列分成2列。假设您没有中间名首字母。然后使用= CONCATENATE(LEFT(A1,1),B1)这些其他方法使我想起“复杂的手套” ...
skub 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.