我有一个代码可以帮助我根据给定列中的条件复制一行数据。我有一张名为“Master”的表格,其中包含大约 1000 行数据。如果“Master”的第 1 列包含“Positive”或“Negative”字样,我想将一行数据移动到名为“Master Responses”的工作表中。我在 IF STATEMENT 中使用了 or 函数 (||) 来选择条件(即如果输入“正”或“负”),但只有在我在第一列中键入“正”时才会复制该行。当我在第一列中输入“Negative”时,该行不会被复制。另外,我想知道如果我必须使用“.openByID 或 .openByURL”调用“主响应”表,应该如何修改代码。我已附上代码,请随时编辑。我是脚本新手,已经坚持了一个多月。任何帮助,将不胜感激。提前致谢。
function onEdit()
{
var sheetNamesToWatch = ["Master"];
var columnNumberToWatch = 1;
var valuesToWatch = ["Positive"];
var valuesToWatch1 = ["Negative"];
var targetSheetsToMoveTheRowTo = ["Master Responses"];
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveCell();
if(sheetNamesToWatch.indexOf(sheet.getName()) != -1 &&
valuesToWatch.indexOf(range.getValue()) != -1 ||
valuesToWatch1.indexOf(range.getValue()) != -1 && range.getColumn()
==columnNumberToWatch)
{
var targetSheet = ss.getSheetByName(targetSheetsToMoveTheRowTo[valuesToWatch.indexOf(range.getValue())]);
var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
sheet.getRange(range.getRow(), 1, 1,
sheet.getLastColumn()).copyTo(targetRange);
}
}