我需要使用應用程式腳本使用查詢和匯入范圍從主表更新資訊。這是主表。我需要從中訪問資訊: https ://docs.google.com/spreadsheets/d/1tpv0iGwpnLUw6F5FoLn2jE4FBuF_igjriLA5uyNjczw/edit#gid=0
這是我需要在其中顯示資料的表格: https ://docs.google.com/spreadsheets/d/1ENZdtWI2f_wYzKbqUNziw6bVcTCpP6T4vkPbs-lPgC0/edit#gid=0
目前我正在使用獲取日期。但我需要使用 Apps 腳本。=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1tpv0iGwpnLUw6F5FoLn2jE4FBuF_igjriLA5uyNjczw/edit#gid=0","Task!A:J"),"SELECT* WHERE Col7 = 'JOHN'")
uj5u.com熱心網友回復:
G如果我理解正確,當列具有特定值時,您希望將資料從源電子表格匯入另一個電子表格。
在這種情況下,您可以為此使用getValues()和setValues():
const SOURCE_SPREADSHEET_ID = "1qkCxwyspeRrVcQRFqiHmIXRUjbrz9zgp09pYR0Y6_-M";
const TARGET_SPREADSHEET_ID = "1zp34NKnqRqdNvDzJx70T1spb0GbUQwnpUmJgkF81Pr4";
const SOURCE_SHEET_NAME = "Task";
const TARGET_SHEET_NAME = "Sheet1";
const NAME_COL_INDEX = 7;
const NAME = "JOHN";
function copyData() {
const sourceSheet = SpreadsheetApp.openById(SOURCE_SPREADSHEET_ID).getSheetByName(SOURCE_SHEET_NAME);
const sourceValues = sourceSheet.getRange("A1:J" sourceSheet.getLastRow()).getValues();
const targetValues = sourceValues.filter((row,i) => i === 0 || row[NAME_COL_INDEX-1] === NAME);
const targetSheet = SpreadsheetApp.openById(TARGET_SPREADSHEET_ID).getSheetByName(TARGET_SHEET_NAME);
targetSheet.clearContents();
targetSheet.getRange(1,1,targetValues.length,targetValues[0].length).setValues(targetValues);
}
function installOnEditTrigger() {
const ss = SpreadsheetApp.openById(SOURCE_SPREADSHEET_ID);
ScriptApp.newTrigger("copyData")
.forSpreadsheet(ss)
.onEdit()
.create();
}
筆記:
如果您希望在用戶編輯源電子表格時自動更新,請考慮安裝onEdit觸發器。要在上面的示例中執行此操作,請執行installOnEditTrigger一次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/416108.html
標籤:
