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

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

我有一个用户名电子表格。名字和姓氏在同一个单元格中。有没有公式可以取第一个单词的首字母和整个第二个单词?

例如,单元格 A1 中有 Jon Smith。
单元格 B1 中应有 JSmith

答案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]是查找单元格中最后一个字符的常用公式。在堆栈交换

LEN(A1)返回单元格的长度。因为我们想要最后一个单词,所以我们可以MID直接转到末尾。

答案2

干得好 :

=连接(左(A1,1),B1)

或者

=left(A1,1)&B1

相关内容