【发布时间】:2022-11-09 20:24:47
【问题描述】:
对应用程序脚本非常陌生,但精通公式和技能提升。
作为参考,我制作了一张测试表HERE
我的脚本一直是教程的科学怪人,但基本上我正在尝试将工作表 2 中的名称和日期与工作表 1 中的数据相匹配,如果它们匹配,那么在“C”列中我想将值设置为“已发送”
这是我迄今为止尝试过的:
function sendReport() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var clientName = ss.getRange ("Sheet2!B1");
var testDate = ss.getRange ("Sheet2!B2")
var destSheet = ss.getSheetByName("Sheet1");
var range = destSheet.getDataRange();
var values = range.getValues();
for(var i = 1; i < values.length; i++){
if (values[i][1] == clientName
&& values[i][2] == testDate) {
values[i][3] = Yes;
}
range.setValues(values)
}
实际工作表非常大,它似乎一次检查每一行,因为脚本需要很长时间才能运行,但是它没有在列中添加“是”值以确认报告已发送。
非常感谢任何帮助。
【问题讨论】:
标签: google-apps-script google-sheets