Google apps script 用气体将柱添加到板上
在我的谷歌工作表中,最后一列数据是S。我正在尝试创建一个脚本,如果S中的值以FIN开头,它将在行中循环并将“test”放在列T中Google apps script 用气体将柱添加到板上,google-apps-script,Google Apps Script,在我的谷歌工作表中,最后一列数据是S。我正在尝试创建一个脚本,如果S中的值以FIN开头,它将在行中循环并将“test”放在列T中 function daysSinceContact() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var mainSheet = ss.getSheetByName("test_sheet"); var main_rows = mainSheet.getDataRange().getValues(
function daysSinceContact() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var mainSheet = ss.getSheetByName("test_sheet");
var main_rows = mainSheet.getDataRange().getValues();
var updated = [];
for (i in main_rows) {
var row = main_rows[i]
if ((row[18].substring(0, 3) == 'FIN') ) {
Logger.log(row[18])
row[19]=='test'
}
updated.push(row);
}
var main_range = mainSheet.getDataRange();
mainSheet.getDataRange().setValues(updated);
}
但是,当我运行此命令时,在T列中看不到任何内容。我做错了什么?这个修改如何 修改点: 当它用“test”代替第[19]行时,它使用第[19]行=“test”。 “疯狂的伊万”指出了这一点 对于没有“FIN”的行,添加到行[19]。 这样,二维数组中每个元素的长度就变得相同了。 getDataRange检索到的范围与当前数据的范围不同。因为增加了一列。 因此使用getRange1,1,updated.length,updated[0]。length。 上面几点反映的修改脚本如下 修改脚本:
如果我误解了你的问题,请告诉我。我想修改它。@user61629欢迎。也谢谢。
function daysSinceContact() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var mainSheet = ss.getSheetByName("test_sheet");
var main_rows = mainSheet.getDataRange().getValues();
var updated = [];
for (i in main_rows) {
var row = main_rows[i]
if ((row[18].substring(0, 3) == 'FIN') ) {
Logger.log(row[18])
row[19] = 'test'
} else {
row[19] = ''; // Added
}
updated.push(row);
}
// var main_range = mainSheet.getDataRange(); // This is not used.
mainSheet.getRange(1, 1, updated.length, updated[0].length).setValues(updated); // Modified
}