我正在尝试创建一个Google脚本,根据单元格的值将一个Google表格中的行复制到不同的表格中 .
单元格值是美国的州 . 主电子表格包含来自注册表单的数据,该表单始终被导入其中 . 当发生新的注册(并将数据导入主表)时,我希望脚本能够运行并将该行数据复制到适当的状态表中 .
这是我在的地方:
-
获取主表
-
找到最后一行
-
获取列"state"中单元格的值
-
根据状态,将该行复制到50个不同的工作表中 .
-
每次更新主表单时(通过API)运行脚本 .
任何帮助,将不胜感激 . 在脚本编写方面,我绝对是一个新手,这只是伤害了我的头脑 .
这是我到目前为止的代码:
function myFunction() {
// Get Source Spreadsheet
var source = SpreadsheetApp.getActiveSpreadsheet();
// Get Source Sheet from Spreadsheet
var source_sheet = source.getActiveSheet();
// Get Active Range from Sheet
var lastRow = sheet.getLastRow();
// Get the Value of the State Cell
var cellValue = Range.getCell(lastrow,3);
// Copy Last Row to Appropriate State Sheet
if ( cellValue == 'Alaska') {
var target = SpreadsheetApp.openById("");
var target_sheet = target.getSheetByName("Sheet1");
target_sheet.appendRow(lastRow);
}
}
2 回答
使用此代码:
getLastRow()
方法返回一个整数 . 然后在代码中进一步向下,使用lastRow
变量作为appendrow()
的数据,这将无效;代码应该是这样的:
appendRow()
方法采用一维数组 .getValues()
方法返回一个2维数组,因此必须进行转换 . 因为您只获得一行数据,所以很容易转换 . 外部数组只有一个内部数组 . 一个内部数组具有该行的所有单元格值 .以下是我为代码提出的答案:
}