簡體   English   中英

Google Apps腳本-從另一個工作表導入工作表值

[英]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.

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