如何查询 Google 表格中的数组?
How to query an array in Google Sheets?
在 Google 表格中,我在一个单元格中有一个数组,如 [27, https://www.example.com/page1.html, false, false, 1]
如何使用公式访问它的各个部分?
我知道通过 =SPLIT()
的方法,例如 =split(split(A2,"["),",")
- 但我非常希望,如果可能的话,直接访问每个部分(每个数组在我的数组中总是有相同数量的部分数据集)。
可能类似于 =QUERY(query(A2,",",1))
- 单元格、分隔线、项目编号...? - 结果是 27.
我想借此机会提出一个使用 Google Apps Script 的解决方案。基本上,您可以创建自己的 自定义 函数来完成此任务。
请按照以下步骤操作:
从您的电子表格文件转到 工具 => 脚本编辑器:
清除默认的Code.gs文件,复制粘贴这个函数并保存修改:
function indexArray(arr,pos) {
return array=arr.slice(1,-1).split(",")[pos-1]
}
您现在可以从电子表格文件中访问 indexArray()
函数。它接受两个参数,包含数组的所需单元格和要访问的元素的位置,从 1:
开始
=indexArray(A2,2)
例如,这将为您提供数组的 second 元素,即:https://www.example.com/page1.html
.
如果您需要有关自定义函数工作原理的更多信息,请查看这些 instructions。它们非常简单。
=INDEX(SPLIT(A2,"[,]"),1)
SPLIT
每个字符 [,]
INDEX
进入结果数组
在 Google 表格中,我在一个单元格中有一个数组,如 [27, https://www.example.com/page1.html, false, false, 1]
如何使用公式访问它的各个部分?
我知道通过 =SPLIT()
的方法,例如 =split(split(A2,"["),",")
- 但我非常希望,如果可能的话,直接访问每个部分(每个数组在我的数组中总是有相同数量的部分数据集)。
可能类似于 =QUERY(query(A2,",",1))
- 单元格、分隔线、项目编号...? - 结果是 27.
我想借此机会提出一个使用 Google Apps Script 的解决方案。基本上,您可以创建自己的 自定义 函数来完成此任务。
请按照以下步骤操作:
从您的电子表格文件转到 工具 => 脚本编辑器:
清除默认的Code.gs文件,复制粘贴这个函数并保存修改:
function indexArray(arr,pos) { return array=arr.slice(1,-1).split(",")[pos-1] }
您现在可以从电子表格文件中访问
开始indexArray()
函数。它接受两个参数,包含数组的所需单元格和要访问的元素的位置,从 1:=indexArray(A2,2)
例如,这将为您提供数组的 second 元素,即:https://www.example.com/page1.html
.
如果您需要有关自定义函数工作原理的更多信息,请查看这些 instructions。它们非常简单。
=INDEX(SPLIT(A2,"[,]"),1)
SPLIT
每个字符[,]
INDEX
进入结果数组