从Split()获取第一项


102

我使用SPLIT函数拆分看起来像的字符串1.23/1.15

现在,它会像应有的那样产生两个单元格。但是,如何从结果中获取某个元素?我想做这样的事情:

SPLIT("1.23/1.15", "/")[0]

提取1.23。正确的语法是什么?

我尝试使用该INDEX功能,但未成功:=INDEX(SPLIT("1.23/1.15", "/"), 0,0)

Answers:


157

您可以使用索引函数来选择要返回的值。因此,要从示例中检索第二个值,可以使用:

=index(SPLIT("1.23/1.15", "/"), 0, 2)

最后一个参数表示column您要检索的参数-1将检索第一个值。

或者,您可以使用left/rightfind从示例中提取任一值。例如,要获取第一个值,您可以使用:

=left("1.23/1.15", find("/", "1.23/1.15"))

1
哦,我只是假设索引是从零开始的。谢谢
fllur 2015年

我尝试使用left/rightsplit,它始终返回第一个值。只是提醒任何人,而没有注意到您需要使用它find
–logicbloke

24

以上两个解决方案的问题是arrayformula函数内部不支持它们。如果包装了查询函数,则将获得所需的结果,并且在仅解析要返回的字段方面非常灵活:

返回第一栏

=query(SPLIT("1.23/1.15", "/"), "SELECT Col1")

返回第二列

=query(SPLIT("1.23/1.15", "/"), "SELECT Col2")

如果要在arrayformula中使用它,请记住将标头设置为空: =query(SPLIT("1.23/1.15", "/"), "SELECT Col1 label Col1 '' ")
arno

1

此外,如果要将其应用于范围,则可以使用:

 =index(split(filter(A2:A,A2:A<>""),"/"),0,2)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.