Google App 脚本数组、变量和数据透视表

问题描述 投票:0回答:1

是否可以使用引用存储数据(数组)的变量的数据透视表? 或者是否需要将数组上传到工作表并为其设置范围,然后使用数据透视表?

大家好,面临以下任务,当然如果可行的话:)

在谷歌应用程序脚本中创建了一个变量,以以下格式存储数据数组:

示例:

[
    [name_1, date_1, age_1],
    [name_2, date_1, age_2],
    [name_3, date_2 ,age_3],
    [name_4, date_3, age_4],
]

数据存储在变量、类型列表中。我可以使用索引来访问数组中的任何元素。

数据很多,Google Sheets 不会将所有内容上传到 1 Sheet 进行数据聚合。

问题:是否可以通过变量(无需将数据上传到工作表)按日期分组并统计客户数量? 是否可以使用变量而不是工作表创建数据透视表?

我是初学者,也许这个问题很愚蠢:) 不管怎样,非常感谢您的回答!`

google-apps-script google-sheets pivot-table
1个回答
0
投票

查找具有相同日期的姓名

function myFunk() {
  let arr = [["name_1", "date_1", "age_1"], ["name_2", "date_1", "age_2"], ["name_3", "date_2", "age_3"], ["name_4", "date_3", "age_4"]];
  let obj = arr.reduce((a, r, i) => {
    if (!a.hasOwnProperty(r[1])) {
      a[r[1]] = [{ name: r[0], age: r[2] }]
      a.pA.push(r[1]);
    } else {
      a[r[1]].push({ name: r[0], age: r[2] })
    }
    return a;
  }, { pA: [] })
  obj.pA.forEach(p => {
    if (obj[p].length > 1) {
      Logger.log("The Following names share the same date: %s", obj[p].map(ob => ob.name).join(','));
    }
  })
}

Execution log
4:01:55 PM  Notice  Execution started
4:01:56 PM  Info    The Following names share the same date: name_1,name_2
4:01:57 PM  Notice  Execution completed
© www.soinside.com 2019 - 2024. All rights reserved.