从 Split() 获取第一项

Posted

技术标签:

【中文标题】从 Split() 获取第一项【英文标题】:Get first item from Split() 【发布时间】:2015-11-25 06:48:47 【问题描述】:

我使用SPLIT 函数来拆分一个类似于1.23/1.15 的字符串。

现在它应该产生两个单元格。但是我如何从结果中得到某个元素呢?我想做这样的事情:

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

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

我尝试使用INDEX 函数,但没有成功:=INDEX(SPLIT("1.23/1.15", "/"), 0,0)

【问题讨论】:

【参考方案1】:

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

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

最后一个参数表示您希望检索哪个column - 1 将检索第一个值。

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

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

【讨论】:

哦,我只是假设索引是从零开始的。谢谢 我用split 尝试了left/right,它总是返回第一个值。只是提醒那些没有注意到您需要使用find 的人。【参考方案2】:

上述两种解决方案的问题是它们在 arrayformula 函数中不受支持。如果你包装一个查询函数,你会得到想要的结果,并且在解析你想要返回的字段方面非常灵活:

返回第一列

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

返回第二列

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

【讨论】:

如果你想在数组公式中使用它,记得将标题设置为空:=query(SPLIT("1.23/1.15", "/"), "SELECT Col1 label Col1 '' ")【参考方案3】:

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

 =index(split(filter(A2:A,A2:A<>""),"/"),0,2)

【讨论】:

以上是关于从 Split() 获取第一项的主要内容,如果未能解决你的问题,请参考以下文章

MarkDown语法详解

第一次使用markdown

如何在org-mode中创建多级有序(编号)普通列表?

为啥XAMPP第一项Apache老是打不开

9.6上午学习内容

AI能读懂40种语言,15个语种拿下22项第一