用excel保留单元格中的前两个单词的公式是什么?

我的D1单元格包含John Smith Rangpur Bangladesh 5400...这样的名字John Smith Rangpur Bangladesh 5400...我想保留John Smith这样的前两个单词,并从单元格中删除其余的单词。 什么公式可以做到这一点?

我在C1 =LEFT(D1,FIND(" ",D1)-1)上使用了这个公式,但它只返回第一个字(John)。 如何得到John Smith第一个和第二个词? 我的话与space.分开space.

提前致谢。

你需要使用FIND函数的第三个参数。 这是查找操作开始的位置。 如果你在第一个空格之后给它的字符,那么你会发现第二个空格,这是你需要的。

 =LEFT(D1, FIND(" ", D1, FIND(" ", D1) + 1) - 1) 
 C1 =LEFT(D1,FIND(" ",D1, FIND(" ",D1)+1)-1) 

使用选项开始位置参数只开始寻找你find的第一个空间,就像你已经完成

这是一个更可扩展的公式:

  C1 = LEFT(D1,FIND("|",SUBSTITUTE(D1," ","|",2))-1) 

string/字符分隔符是“”(空格),其实例号决定全部。

替代函数允许用户replace给定实例编号的string,这使得每个实例具有不同的实例编号(短语的前两个单词,短语的前五个单词等等)变得简单。 我们用新的分隔符“|”replace给定实例的分隔符(在这种情况下说第二个) 从左边find它的位置来确定所需的输出。

在上面那些在同一个函数中有多个查找函数的回答中,如果用户想要前5个字而不是2个,那么在同一个函数中使用多个查找函数就会变得非常复杂。

在这种情况下,用户只需要将替代函数(代表实例号)中的“2”replace为5。

如果列表中有一个单词。

 =IFERROR(LEFT(H4,FIND(" ",H4,FIND(" ",H4)+1)-1),H4) 

使用下面的代码来获得所需的结果:

 =TRIM(LEFT(D1, FIND("~",SUBSTITUTE(D1, " ", "~",2)&"~")))