簡體   English   中英

谷歌應用程序腳本從電子表格中的表格中獲取數據到一張主表格中

[英]google app script fetch data from sheets within the spreadsheet into one master sheet

我有一個包含公司數據的谷歌電子表格,在電子表格中我有 4 個標簽(工作表)

選項卡(工作表)

  1. MASTER SHEET{NAME,ID,SHEET1,SHEET2,SHEET3} <列標簽
  2. 表 1{姓名、ID、電話、地址、總工作時間、總交付次數}<列標簽
  3. 表 2{姓名、ID、電話、地址、總工作時間、總交付次數}<列標簽
  4. 表 3{姓名、ID、電話、地址、總工作時間、總交付次數}<列標簽
  • 主表[我想存儲來自其他 3 個選項卡的一些數據] 在主表中我有 5 列,例如 [名稱、ID 和來自 3 個選項卡的“總交付量”列}
  • 包含 1000 行和 100 列數據的 3 個選項卡我想要從 3 個選項卡中選擇的一些列。 我想在它運行時制作一個腳本,它從 3 個選項卡中獲取數據並將其存儲在主表中。

在這里,我提供了電子表格的鏈接,您可以在其中看到選項卡“主表的副本”我已經手動復制並粘貼了數據,我希望在主表中得到相同的結果

https://docs.google.com/spreadsheets/d/1ysKEjxtBgtRaG0cETf2kI7GdPmIqcTaZJ8QmYmTNWzM/edit?usp=sharing

將所有數據編譯在一張表中可能會更容易,如下所示

function compile(){
  let result=[['id','name','date','working days']]
  const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets().filter(sh => /^\d+/.test(sh.getName()))
  sheets.forEach(sh => {
    sh.getDataRange().getValues().splice(1).forEach(row => result.push([row[0],row[1],sh.getName(),row[4]]))
  })
  const dstSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Compilation') 
  dstSheet.clear()
  dstSheet.getRange(1,1,result.length,result[0].length).setValues(result)
}

然后執行數據透視表

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM