首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel 2010中带有逗号的单词

Excel 2010中带有逗号的单词
EN

Stack Overflow用户
提问于 2013-08-08 02:04:46
回答 5查看 5.9K关注 0票数 1

我试图使用Excel中的一个公式来用逗号分隔单元格中的一串单词。如果牢房里有超过5个单词,我只想得到前5个单词。要获取单元格中的前五个单词并用逗号分隔它们,我使用以下方法:

代码语言:javascript
运行
复制
=SUBSTITUTE(LEFT(A1,FIND("^",SUBSTITUTE(A1," ","^",5))-1), " ", ", ")

这个很好用。但是这个问题,因为这里的数字5,如果一个单元格包含少于5个单词,我会得到一个错误。我试着用这个代替5:

代码语言:javascript
运行
复制
LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

所以我的职能是:

代码语言:javascript
运行
复制
=SUBSTITUTE(LEFT(A1,FIND("^",SUBSTITUTE(A1," ","^",LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1))-1), " ", ", ")

但这不起作用,它给了我一个错误。你知道我该怎么做吗?

另外,如果第一个字符是"-“(没有引号),我想忽略第一个单词,而只是从第二个单词开始。换句话说,我想要这样的东西:

我很爱我的生活,应该还我,爱,我的,生活,很

  • 我非常爱我的生活,应该还 I,爱,我,生活,很( "-“被忽视) 我爱我的应该还我,亲爱的,我的

提前感谢您的帮助

EN

回答 5

Stack Overflow用户

发布于 2013-08-08 02:33:40

这里有一个有点不同的方法。除了“少于5”问题外,它还涉及"5字无尾“问题:

代码语言:javascript
运行
复制
=LEFT(A1,FIND("^",SUBSTITUTE(A1 & "^"," ","^",5))-1)

编辑1:我刚刚注意到关于"-“的部分。我添加的内容不太优雅,但是它处理它,并且还TRIMS任何尾随空格:

代码语言:javascript
运行
复制
=TRIM(LEFT(IF(LEFT(A1,2)="- ",MID(A1,3,999),A1),FIND("^",SUBSTITUTE(IF(LEFT(A1,2)="- ",MID(A1,3,999),A1) & "^"," ","^",5))-1))

编辑2:哦,是的,逗号:

代码语言:javascript
运行
复制
=SUBSTITUTE(TRIM(LEFT(IF(LEFT(A1,2)="- ",MID(A1,3,999),A1),FIND("^",SUBSTITUTE(IF(LEFT(A1,2)="- ",MID(A1,3,999),A1) & "^"," ","^",5))-1))," ",",") 

票数 2
EN

Stack Overflow用户

发布于 2013-08-09 12:54:44

试试这个:

=TRIM(LEFT(SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE(A1,"-“、”")、“”、“”、“(”“、5)、99)

票数 2
EN

Stack Overflow用户

发布于 2013-08-08 04:16:10

即使在破折号后面有,而不是空格,或者文本中有额外空格,这也是可行的。我经常发现输入不是很干净。

代码语言:javascript
运行
复制
=SUBSTITUTE(LEFT(SUBSTITUTE(TRIM(SUBSTITUTE(A1,"-","",1)),
" ","*",5),IFERROR(FIND("*",SUBSTITUTE(TRIM(SUBSTITUTE(A1,"-","",1)),
" ","*",5))-1,999))," ",",")

编辑:在评论了István之后,我也把我的作品做得完美无缺。

代码语言:javascript
运行
复制
=SUBSTITUTE(LEFT(SUBSTITUTE(TRIM(SUBSTITUTE(LEFT(TRIM(A1),1),"-","  ",1)
&MID(TRIM(A1),2,999))," ","*",5),IFERROR(FIND("*",SUBSTITUTE(
TRIM(SUBSTITUTE(LEFT(TRIM(A1),1),"-","",1)&MID(TRIM(A1),2,999))," ","*",5))-1,999))," ",",")

但我觉得他的更优雅。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18116797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档