如何返回一串文本的最后一个单词?

如何返回一串文本的最后一个单词?

如果你们中有人一直在关注我的问题,那么这可能并不奇怪。不管怎样,我还是要问这个问题。我确实尝试过在网上找到答案,并且尝试了几种不同版本的公式,但公式总是有点不对劲。与其用这些失败的尝试来混淆视听,不如让我用一张图片来解释一下我想要做什么。如下图所示:

我想取出“el”或“la”后面的单词并将其返回到相邻的列中。上面看到的条目是手动完成的。从我用紫色阴影标记的单元格中可以看出,有些单元格不包含“el”或“la”,但我不一定需要一个公式来纠正这种情况,因为它们的数量很少。

我使用的是 Excel 2007。一如既往,在此先感谢您的知识、专业技能和指导。我也始终乐于听取有关如何提高公式和函数技能的建议,因此如果您在这方面有任何指导,请将其包含在您的答案中,我不会介意。

答案1

最后说一句:

=TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))

得到第一个单词:

=TRIM(LEFT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))

这些公式代替每一个空间100个停车位然后返回最后的(或者第一的)100个字符。TRIM 函数删除不需要的空白。


不起作用的极端情况

  • 输入字符串包含超过约 300 个空格。具体数量取决于输入字符串的其余部分的长度。限制因素是 Excel 单元格中允许的最大字符数为 32767 个

  • 最后一个单词超过 100 个字符,因为 RIGHT 函数仅返回最后 100 个字符,因此会截断较长的单词。第二个公式也是如此

来源:堆栈溢出

答案2

2016 年 7 月 18 日的答案对我来说不起作用,缺少一些条目。但是,这个答案确实有用:

=TRIM(RIGHT(SUBSTITUTE(TRIM(A1), " ", REPT(" ", LEN(TRIM(A1)))), LEN(TRIM(A1))))

来源:https://stackoverflow.com/a/16868040/3171509

相关内容