Google apps script 检查列是否包含值
我应该向if语句添加什么来检查适用行中的列Google apps script 检查列是否包含值,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我应该向if语句添加什么来检查适用行中的列5是否包含值,并防止setValue()覆盖旧值 function onEdit(e) { var sheet = e.source.getActiveSheet(); var i = ['Sheet1', 'Sheet2'].indexOf(sheet.getName()); if (e.range.getValue() != '' && i > -1 && e.range.columnStart =
5
是否包含值,并防止setValue()覆盖旧值
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var i = ['Sheet1', 'Sheet2'].indexOf(sheet.getName());
if (e.range.getValue() != '' && i > -1 && e.range.columnStart === 1) {
e.range.offset(0,4).setValue(Utilities.formatDate(new Date(), "GMT-8", "MM/dd/yyyy"));
}
}
说明:
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var row = e.range.getRow();
var i = ['Sheet1', 'Sheet2'].indexOf(sheet.getName());
if (e.range.getValue() != '' && i > -1 && e.range.columnStart === 1 && sheet.getRange(row,5).getValue()=='') {
e.range.offset(0,4).setValue(Utilities.formatDate(new Date(), "GMT-8", "MM/dd/yyyy"));
}
}
在if
语句中为列5
添加一个条件,使其在行
处为空,以便填充:
sheet.getRange(第5行).getValue()=''
解决方案:
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var row = e.range.getRow();
var i = ['Sheet1', 'Sheet2'].indexOf(sheet.getName());
if (e.range.getValue() != '' && i > -1 && e.range.columnStart === 1 && sheet.getRange(row,5).getValue()=='') {
e.range.offset(0,4).setValue(Utilities.formatDate(new Date(), "GMT-8", "MM/dd/yyyy"));
}
}
或:
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var row = e.range.getRow();
var i = ['Sheet1', 'Sheet2'].indexOf(sheet.getName());
if (e.range.getValue() != '' && i > -1 && e.range.columnStart === 1 && sheet.getRange(row,5).getValue()=='') {
e.range.offset(0,4).setValue(Utilities.formatDate(new Date(), "GMT-8", "MM/dd/yyyy"));
}
}
我对代码进行了一些格式化,使其更加紧凑:
function onEdit(e) {
const sheet = e.source.getActiveSheet();
const row = e.range.getRow();
const col = e.range.getColumn();
const sheets = ['Sheet1', 'Sheet2'];
if (e.range.getValue() != '' && sheets.includes(sheet.getName())
&& col === 1 && sheet.getRange(row,5).getValue()==''){
e.range.offset(0,4).setValue(Utilities.formatDate(new Date(), "GMT-8", "MM/dd/yyyy"));
}
}