CELL的谷歌脚本语法包含文本



我需要编写几个具有多个条件的if语句,其中一些条件只是查找包含文本的单元格。下面是我正在使用的脚本示例。在这个例子中,我需要值[2]作为单元格包含文本的正确语法。我尝试了几种方法,包括<gt"quot;这不起作用。有没有一种方法可以在不向代码中添加额外行的情况下表达包含单元格的文本?谢谢你的帮助。

function onEdit2(e){
var ss = e.source;
var sheet = ss.getActiveSheet();
var row = e.range.getRow();
var col = e.range.getColumn();
var validSheets = ["3","4","5","6"];
var value = [];
if(row > 1 && col <=7 && validSheets.includes(sheet.getName())){
value = sheet.getRange(row,2,2,5).getDisplayValues().flat();

if(value[0] == "Outgoing" && value [1] == "FASTWAY" && value [2] === <>"" && value [3] == "TARGET"){
sheet.getRange(row,10).setValue("USE HEAT TREATED PALLET");
}}

您可以通过将文本字符串与空文本字符串进行比较来测试其长度是否为非零,如下所示:

values[2] !== ''

或者简单地通过引用其length属性,如下所示:

function onEdit2(e) {
const sheet = e.range.getSheet();
if (e.range.rowStart <= 1
|| e.range.columnStart > 7
|| !sheet.getName().match(/^(3|4|5|6)$/i)) {
return;
}
const values = sheet.getRange(e.range.rowStart, 2, 2, 5).getDisplayValues().flat();
if (values[0] === 'Outgoing'
&& values[1] === 'FASTWAY'
&& values[2].length
&& values[3] === 'TARGET') {
sheet.getRange(e.range.rowStart, 10).setValue('USE HEAT TREATED PALLET');
}
}

最新更新