从 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
/ right
和 find
从您的示例中提取任一值。例如,要获取您可以使用的第一个值:
=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() 获取第一项的主要内容,如果未能解决你的问题,请参考以下文章