javascript - Google Apps 脚本 - 从另一个工作表导入工作表值

标签 javascript google-apps-script google-sheets

我正在努力尝试为 Google 表格编写有条件的 Google 应用程序脚本。该工作表有 5 个选项卡。基本上,工作表从谷歌表单获取数据。客户填写表格,它会填充我们相关工作表的“主”选项卡。

这是我挂断的地方: 该表格用于教师将学生推荐给特定的管理员。控制表单的人需要能够将特定的数据行分配给特定的管理员,每个管理员都有自己的选项卡设置。他们通过从下拉列表中选择要将行分配给哪个管理员来执行此操作。

因此,如果第 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)

查询有一些帮助here .您还可以跨电子表格进行查询。也就是说,您可以为 Miranda 分配她自己的电子表格,该电子表格来自您的主数据。

如果您需要更多帮助,请与我分享示例电子表格数据。

关于javascript - Google Apps 脚本 - 从另一个工作表导入工作表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41412088/

相关文章:

google-apps-script - 打开单元格以在 Google 表格中进行编辑

javascript - react 中查询为空时显示的项目

javascript - 更改 iframe url 更改父窗口 url 阻止了具有来源的框架

javascript - Google 表格脚本数字小数位格式

Java GData Spreadsheets API 获取 Feed 失败

javascript - 当 URL 存在时,Google Apps 脚本 UrlFetchApp 返回 404

javascript - 在 Mongo 数组内部搜索

javascript - 在Jquery中设置值,添加了两倍相同的值

google-apps-script - 如何允许其他人访问由 Google Apps 脚本制作的网络应用程序?

google-apps-script - DriveApp 父文件夹