You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用For循环插入带TRUE/FALSE的复选框及通配符问题排查

问题:正则通配符匹配失效,求解释

业务背景

我做了个新业务记录表格,逻辑是:各月度工作表里有「新业务标记」复选框,勾选后该行数据会自动追加到NEW BUSINESS表,同时要在对应承保商的列插入一个已勾选的复选框。

现状说明

之前代码里因为counter拼写错误导致循环跑不起来,修正后循环正常了,但现在carrierArray里的正则通配符匹配不管用——换成固定字符串匹配就没问题。

修正后的代码

function onEdit2(e) {
  const sh = e.range.getSheet();
  if (sh.getName() != "QUOTES IN PROCESS" && sh.getName() != "NEW BUSINESS" && e.range.columnStart == 2 && e.value == "TRUE") {
    e.source.toast("New Business Entered");
    const [a,b,c] = sh.getRange(e.range.rowStart,3,1,3).getValues()[0];
    var d = sh.getRange(e.range.rowStart, 15).getValue();
    const dsh = e.source.getSheetByName("NEW BUSINESS");
    var data = [d,a,b,c];
    
    dsh.appendRow(data);

    var lastRow = dsh.getLastRow();

    var carrier = sh.getRange(e.range.rowStart, 6).getValue();

    const carrierArray = [/.*AIG*./, /.*Amwins.*/, /.*American Bankers.*/, /.*Chubb.*/, /.*Nationwide Private Client.*/, /.*Orchid.*/, /.*Progressive.*/, /.*Jewelers Mutual.*/, /.*Quirk.*/, /.*Lemonade.*/, /.*RLI.*/, /.*RT Specialty.*/, /.*Safeco.*/, /.*Travelers.*/, /.*TWIA.*/, /.*.*/];

    for(var counter = 0; counter <= 16; counter = counter + 1) {
      if (carrier.match(carrierArray[counter])) {
        dsh.getRange(lastRow, counter+5, 1, 1).insertCheckboxes().check();
      } else {
        dsh.getRange(lastRow, counter+5, 1, 1).insertCheckboxes();
      };
    }
  }
}

相关参考截图说明

  • 月度工作表示例:呈现带有新业务复选框的月度工作表结构
  • NEW BUSINESS表预期输出:展示目标工作表中对应承保商列复选框已勾选的预期效果

内容的提问来源于stack exchange,提问作者Branden Hance

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:35:32