gpt4 book ai didi

excel - 在 Excel 2010 中用逗号分隔单词

转载 作者:行者123 更新时间:2023-12-04 21:25:21 25 4
gpt4 key购买 nike

我正在尝试使用 Excel 中的公式来用逗号分隔单元格中的一堆单词。如果单元格中的单词超过 5 个,我只想获取前 5 个单词。要获取单元格中的前五个单词并用逗号分隔它们,我使用以下命令:

=SUBSTITUTE(LEFT(A1,FIND("^",SUBSTITUTE(A1," ","^",5))-1), " ", ", ")

这工作正常。但是这个问题,因为这里的数字 5,如果我一个单元格包含少于 5 个单词,我会得到一个错误。我试图用这个代替5:
LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

所以我的功能变成了这样:
=SUBSTITUTE(LEFT(A1,FIND("^",SUBSTITUTE(A1," ","^",LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1))-1), " ", ", ")

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

如果它的第一个字符是“-”(不带引号),我也想忽略第一个单词并从第二个单词开始。所以换句话说,我想要这样的东西:

我很爱我的生活 应该返回 我,爱,我的,生活,非常
- 我很爱我的生活 应该返回 我,爱,我,生命,非常(“-”被忽略了)
我爱我的 应该返回 我爱我的

提前感谢您的帮助

最佳答案

这是一种有些不同的方法。除了“小于5”的问题外,还处理了“5字结尾没有空格”的问题:

=LEFT(A1,FIND("^",SUBSTITUTE(A1 & "^"," ","^",5))-1)

编辑1:我刚刚注意到关于前导“-”的部分。我的添加不是很优雅,但可以处理它,而且 TRIMS任何尾随空格:
=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:哦,是的,逗号:
=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))," ",",") 

enter image description here

关于excel - 在 Excel 2010 中用逗号分隔单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18116797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com