【问题标题】:How to check if array values are in a range?如何检查数组值是否在范围内?
【发布时间】:2020-08-20 13:21:55
【问题描述】:

我的代码:

如果 A:A 列包含“term1”或“term2”,则在 B:B 列的相应行中设置值“发送电子邮件”。

function col_email() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheets()[0];
var r = s.getRange('A:A');
var v = r.getValues();

var searchTerm = 'term1';
var searchTerm2 = 'term2';

for(var i=v.length-1;i>=0;i--) {

    if(v[0,i].toString().indexOf(searchTerm) > -1) {
     var row = (i+1)
     s.getRange('B'+row).setValue("send email");   
    }

    if(v[0,i].toString().indexOf(searchTerm2) > -1) {
     var row = (i+1)
     s.getRange('B'+row).setValue("send email");   
    }
}

};

我的代码运行良好,但我想让它更易于管理:

如果 A:A 列包含数组 searchTerm 中的值之一,则在 B:B 列的相应行中设置值“发送电子邮件”。

function col_email() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheets()[0];
var r = s.getRange('A:A');
var v = r.getValues();

var searchTerm = ["term1","term2","term3","term4"];

for(var i=v.length-1;i>=0;i--) {

    if(v[0,i].toString().indexOf(searchTerm) > -1) {
     var row = (i+1)
     s.getRange('B'+row).setValue("send email");   
    }

}

};

关于如何修复上述代码的一些建议对我很有帮助。

【问题讨论】:

    标签: javascript arrays google-apps-script google-sheets


    【解决方案1】:

    看看有没有帮助

    function col_email() {
    var s = SpreadsheetApp.getActive().getSheets()[0];
    var searchTerm = ["term1","term2","term3","term4"];
    s.getRange('A:A').getValues().forEach( (row, ind) => {
    if(searchTerm.indexOf(row[0].toString()) > -1) {
    s.getRange(ind + 1, 2).setValue('Send Email')
    }
    })
    }
    

    编辑:要处理部分匹配,请尝试

    function col_email() {
    var s = SpreadsheetApp.getActive().getSheets()[0];
    var searchTerm = ["term1","term2","term3","term4"];
    s.getRange('A:A').getValues().forEach( (row, ind) => {
    searchTerm.forEach( t => {
    if(row[0].toString().indexOf(t) > -1) {
    s.getRange(ind + 1, 2).setValue('Send Email')
    }})
    })
    }
    

    【讨论】:

    • 感谢您的回复。其作品!但仅在完全匹配的情况下。如果 A:A 中的行包含搜索词之一,是否可以设置值“发送电子邮件”。希望这是有道理的。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 2015-11-28
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    相关资源
    最近更新 更多