Google电子表格脚本 - 如果包含公式的列包含特定文本字符串

时间:2017-04-05 19:40:16

标签: google-apps-script google-sheets

这就是我所在的地方:

  1. 我有一个电子表格,其中A列包含一些纯文本数据。 A栏中的文字每天早上自动更新一次。

  2. 在B列中,我有一个公式,用于查找A列中的某些单词。如果找到匹配项,则会在相应的单元格中显示YES。这就是B栏中的公式基本上看起来像= IF(ISNUMBER(SEARCH(“John Doe”,A1)),“YES”)

  3. 我有一个查看B列的脚本,如果上面的公式填充了一个单元格,说是YES,它会向我发送一封电子邮件。问题是,它仅在使用纯文本值填充列时才有效,如果通过公式填充则不起作用。

  4. 有没有改变我正在使用的脚本,所以尽管通过公式填充单元格它仍然有效?

    这是我正在使用的脚本:

    function sendEmail(e) {
    var thisSheet = e.source.getActiveSheet();
    if (thisSheet.getName() !== 'Sheet1' || e.range.columnStart !== 1 || e.range.rowStart == 1 || e.value !== 'YES') return;
    var body, headers = thisSheet.getRange(1, 1, 1, 14)
        .getValues()[0],
        thisRow = thisSheet.getRange(e.range.rowStart, 1, 1, 14)
        .getValues()[0],
        recipients = "steveclash@gmail.com",
        subject = "YES " + e.source.getName(),
        body = "",
        i = 0;
    while (i < 14) {
        body += headers[i] + ':\t' + thisRow[i] + '\n';
        i++;
    }
    body += "\n\nVisit " + e.source.getUrl() + " to view the changes."
    MailApp.sendEmail(recipients, subject, body);}
    

0 个答案:

没有答案