【发布时间】:2020-11-05 03:57:12
【问题描述】:
我正在尝试创建一个谷歌脚本,它将查看我的工作表,获取数据长度,然后在 P 列中标记“已处理”。我无法使用数组/if 公式执行此操作,因为我需要知道何时有新行进入并且尚未处理。我当前的脚本只是将永无止境的数据写入 P 列。我希望它只写入基于 A 列的最后一个非空白行。
这是我的示例表和不工作的脚本。
https://docs.google.com/spreadsheets/d/13Q4I91O4vMDSCHwAMG0DOLLkbzLCxWiQzbugJ-6nPjs/edit?usp=sharing
function MarkrowsProcessed() {
var spr = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spr.getSheetByName("Sheet1");
var column = spr.getRange('A:A').getValues();
for (var i = 0; i < column.length; ++i)
{
var rowData = column[i];
var emailSent = rowData[16];
if (emailSent != 'Processed')
{
sheet.getRange(i+1, 16, column.length, 1).setValue('Processed');// Make sure the cell is
updated right away in case the script is interrupted
}
}
}
提前感谢您的帮助。
【问题讨论】:
-
1) 您的链接显示拒绝访问。 2)您打算如何调用该函数?从脚本编辑器手动还是通过自定义菜单?还是通过某些事件? “我需要知道什么时候有新行出现”——只要表中确实发生了某些更改,您就可以运行脚本。
标签: javascript google-apps-script google-sheets