Javascript Google应用程序脚本-从其他工作表导入工作表值

Javascript Google应用程序脚本-从其他工作表导入工作表值,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在努力为谷歌表单编写一个有条件的谷歌应用程序脚本。该工作表有5个选项卡。基本上,表单从谷歌表单获取数据。客户填写表格,然后填写相关表格的“主”选项卡 这里是我挂断电话的地方: 该表格用于教师将学生推荐给特定的管理员。控制表单的人需要能够将特定的数据行分配给特定的管理员,每个管理员都有自己的选项卡设置。他们通过从下拉列表中选择要将行分配给哪个管理员来完成此操作 因此,如果将第2行指定给“Miranda”,某些数据将移到“Miranda”选项卡。为了便于讨论,假设该行的D列和E列将移到“Mira

我正在努力为谷歌表单编写一个有条件的谷歌应用程序脚本。该工作表有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);
            }
        }
}
函数importStudent(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var master_sheet=ss.getSheetByName(“主”);
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();

对于(var i=0;i不确定是否需要使用脚本来执行您正在尝试的操作。为什么不使用查询公式

例如:

=查询(主数据!:A:E,“选择D,E,其中A='Miranda',0)

在查询方面有一些帮助。你也可以跨电子表格进行查询。也就是说,你可以为米兰达分配她自己的电子表格,它从你的主数据中获取数据


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

不确定是否需要使用脚本来完成您正在尝试的操作。为什么不使用查询公式

例如:

=查询(主数据!:A:E,“选择D,E,其中A='Miranda',0)

在查询方面有一些帮助。你也可以跨电子表格进行查询。也就是说,你可以为米兰达分配她自己的电子表格,它从你的主数据中获取数据


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

我认为如果显示的是D列和E列,则该范围需要包括D列和E列:
=query(MasterData!:a:E,“选择D,E其中a=”Miranda“,0)
我曾考虑过使用查询,但不是每个老师每次想导入时都必须输入查询吗?此外,这是他们想要的一些功能的一个小示例,但却是基础。所有其他功能都很容易实现,但我认为使用他们可以从您的工作表复制到的menuI中进行选择。请查看Miranda选项卡和单元格A2,我在其中添加了一个公式。要回答您关于更新查询的问题,查询将实时运行,并且数据中所做的更改将立即在查询中更新。我可能只需切换到这个,以及类似的查询,以获得我需要的其他功能,谢谢!我认为如果显示的是D列和E列,则范围需要包括它们:
=query(MasterData!:A:E,“选择D,E,其中A=”Miranda“,0)
我曾考虑过使用查询,但不是每个老师每次想导入时都必须输入查询吗?此外,这是他们想要的一些功能的一个小示例,但却是基础。所有其他功能都很容易实现,但我认为使用他们可以从您的工作表复制到的menuI中进行选择。请查看Miranda选项卡和单元格A2,我在其中添加了一个公式。要回答您关于更新查询的问题,查询将实时运行,并且数据中所做的更改将立即在查询中更新。我可能只需切换到这个,以及类似的查询,以获得我需要的其他功能,谢谢!