为了给Google sheets写一个有条件的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()类。所以,我的问题是:
我怎么才能清理干净呢?还有什么(class?)为了让它起作用,我应该使用吗?
PS -当涉及到JavaScript时,我仍然认为自己是一个新手。我有相关知识,但实际应用还在学习中:)
https://stackoverflow.com/questions/41412088
复制相似问题