如何在Google表格中查询数组?

问题描述

在Google表格中,我在一个单元格中有一个[27,https://www.example.com/page1.html,false,1]这样的数组

如何使用公式访问其单个部分?

我知道一种通过=SPLIT()的方式,就像=split(split(A2,"["),",")一样-但我非常希望在可能的情况下直接访问每个部分(每个数组在我的数据集中始终具有相同数量的部分)。

也许像=QUERY(query(A2,1))一样-单元格,分隔线,项目编号...? -结果是27。

解决方法

=INDEX(SPLIT(A2,"[,]"),1)
  • SPLIT中的每个字符[,]
  • INDEX放入结果数组
,

我想借此机会,用Google Apps Script提出解决方案。基本上,您可以创建自己的自定义函数来完成此任务。

请按照以下步骤操作:

  1. 从电子表格文件中转到工具 => 脚本编辑器sample

  2. 清除默认的 Code.gs 文件,复制并粘贴此函数并保存更改:

    function indexArray(arr,pos) {
       return array=arr.slice(1,-1).split(",")[pos-1]
    }
    

script

  1. 您现在可以从电子表格文件中访问indexArray()功能。它接受两个参数,一个包含数组的所需单元格,以及您要访问的元素的位置,从1开始:

    =indexArray(A2,2)
    

picture3

例如,这将为您提供数组的 second 元素:https://www.example.com/page1.html

如果需要更多有关自定义函数如何工作的信息,请查看这些instructions。它们非常简单。