[英]Google apps script - Importing sheet values from another sheet
我正在花點時間嘗試為Google表格編寫條件Google Apps腳本。 該工作表有5個標簽。 基本上,工作表從Google表單獲取數據。 客戶填寫該表格,然后填充我們所涉及工作表的“主”標簽。
這是我掛斷的地方:該表格用於教師將學生介紹給特定的管理員。 誰控制表單,誰都需要能夠將特定的數據行分配給特定的管理員,每個管理員都設置了自己的標簽。 他們通過從下拉列表中選擇要將行分配給哪個管理員來做到這一點。
因此,如果將第2行分配給“ Miranda”,則某些數據將移至“ Miranda”選項卡。 為了爭辯,可以說該特定行的D和E列將移至“ Miranda”選項卡的A列。
到目前為止,這是我想出的:
function importStudent() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var master_sheet = ss.getSheetByName("Master");
var miranda_sheet = ss.getSheetByName("Miranda");
var columnT = master_sheet.getRange("T1:T").getValues();
var columnD = master_sheet.getRange("D1:D").getValues();
var columnE = master_sheet.getRange("E1:E").getValues();
for(var i = 0; i <= columnT; i++) {
if (columnT[i][0] === "Miranda") {
var miranda_row = (miranda_sheet.getLastRow() + 1);
var active_row = SpreadsheetApp.setActiveRange(columnT[i].getRow());
var selectionFirst = columnD.setActiveRange(active_row:columnD);
var selectionLast = columnE.setActiveRange(active_row:columnE);
var fullName = selectionFirst + " " + selectionLast;
fullName.copyValuesToRange(miranda_sheet, 1, 1, miranda_row, miranda_row);
}
}
}
下面的代碼已損壞,我正在尋找使其工作的一些指導。 馬上,我知道至少有兩個問題:1變量太多,2我不確定是否可以將變量作為setActiveRange()類的參數傳遞。 所以,我的問題是:
我該如何清理? 為了使它起作用,我應該使用什么(類?)?
PS-關於JavaScript,我仍然認為自己是新手。 我有知識,但是實際應用是我仍在學習的東西:)
不知道您是否需要使用腳本來執行您要嘗試的操作。 為什么不使用查詢公式?
例如:
= query(MasterData!:A:E,“ SELECT D,E WHERE A ='Miranda'”,0)
有上查詢一些幫助這里 。 您也可以在電子表格中查詢。 也就是說,您可以為Miranda分配她自己的電子表格,該電子表格來自您的主數據。
如果您需要更多幫助,請與我分享一個示例電子表格數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.