a_m*_*m0d 25 excel formula excel-formula
我试图在excel公式中拆分字符串,就像我在许多编程语言中可以做的那样,例如
string words = "some text".split(' ');
Run Code Online (Sandbox Code Playgroud)
问题是我不能确定单元格中有多个单词.如果我尝试使用FIND()或SEARCH()函数,#VALUE如果没有空格则返回.是否有任何简单的方法来分割字符串,以便它返回单个单词(甚至更好,以便它返回第一个单词或所有其他单词)?
Rob*_*rns 23
返回第一个单词或所有其他单词的公式.
=IF(ISERROR(FIND(" ",TRIM(A2),1)),TRIM(A2),MID(TRIM(A2),FIND(" ",TRIM(A2),1),LEN(A2)))
Run Code Online (Sandbox Code Playgroud)
例子和结果
Text Description Results
Blank
Space
some Text no space some
some text Text with space text
some Text with leading space some
some Text with trailing space some
some text some text Text with multiple spaces text some text
Run Code Online (Sandbox Code Playgroud)
关于公式的评论:
当以空格分隔时,以下内容返回单元格A1中的第一个单词(在Excel 2003中有效):
=LEFT(A1, SEARCH(" ",A1,1))
Run Code Online (Sandbox Code Playgroud)
=IFERROR(LEFT(A3, FIND(" ", A3, 1)), A3)
Run Code Online (Sandbox Code Playgroud)
这将首先检查单元格是否包含空格,如果是,它将返回空格中的第一个值,否则它将返回单元格值.
编辑
只是添加到上面的公式,因为它代表单元格中没有值它将返回0.如果您要显示一条消息或某些东西告诉用户它是空的,您可以使用以下内容:
=IF(IFERROR(LEFT(A3, FIND(" ", A3, 1)), A3)=0, "Empty", IFERROR(LEFT(A3, FIND(" ", A3, 1)), A3))
Run Code Online (Sandbox Code Playgroud)