4

我的 D1 单元格包含的名称就像John Smith Rangpur Bangladesh 5400...我想保留前两个单词一样John Smith并从单元格中删除其余部分。这样做的公式是什么?

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

提前致谢。

4

6 回答 6

6

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

=LEFT(D1, FIND(" ", D1, FIND(" ", D1) + 1) - 1)
于 2013-04-19T12:03:59.423 回答
6

这是一个更具扩展性的公式:

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

字符串/字符分隔符是“”(空格),它的实例编号决定了一切。

Substitute 函数允许用户替换给定实例编号的字符串,这使得为每种情况具有不同的实例编号(短语的前两个单词,短语的前五个单词等)变得简单。我们用新的分隔符“|”替换给定实例的分隔符(在本例中为第二个)从左侧找到它的位置以确定所需的输出。

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

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

于 2013-04-19T12:47:24.973 回答
2
C1 =LEFT(D1,FIND(" ",D1, FIND(" ",D1)+1)-1)

使用选项start position参数仅开始查找您发现使用的第一个空间,find就像您已经完成的一样

于 2013-04-19T12:03:24.993 回答
0

万一你的名单上有一个词。

=IFERROR(LEFT(H4,FIND(" ",H4,FIND(" ",H4)+1)-1),H4)
于 2016-05-18T16:39:29.907 回答
0

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

=TRIM(LEFT(D1, FIND("~",SUBSTITUTE(D1, " ", "~",2)&"~")))
于 2017-09-20T05:38:39.307 回答
0

在 A2 中,您应该执行以下操作:

=IF(A1="","",IFERROR(LEFT(A1,FIND(" ",A1,FIND(" ",A1)+1)-1),A1))

=TRIM(LEFT(A1, FIND("~",SUBSTITUTE(A1, " ", "~",2)&"~")))
于 2018-05-16T18:46:25.090 回答