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

Google Sheets:B列含“10:00 PM”时勾选M、N列复选框求助

修正后的Google Apps Script脚本

针对你的需求,以下是修正后的脚本,解决原脚本仅处理单列、匹配逻辑不够灵活的问题:

function updateCheckboxes() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Status');
  if (!sh) return; // 避免工作表不存在时报错

  const lastRow = sh.getLastRow();
  if (lastRow < 2) return; // 无数据行时直接退出

  const dataRange = sh.getRange(2, 1, lastRow - 1, sh.getLastColumn());
  const displayValues = dataRange.getDisplayValues();

  // 生成M列(索引12)和N列(索引13)的勾选状态数组
  const checkboxValues = displayValues.map(row => {
    // 判断B列是否包含"10:00 PM",如需保留原脚本的周日/r[6]为空条件,可替换下方判断
    const shouldCheck = row[1].includes("10:00 PM");
    // 保留原条件的写法:
    // const shouldCheck = (row[1].includes("10:00 PM") && row[6] === "") || row[2] === "Sunday" || row[3] === "Sunday";
    
    return [shouldCheck, shouldCheck]; // M、N列同步设置勾选状态
  });

  // 将状态写入M列(第13列)和N列(第14列)
  sh.getRange(2, 13, checkboxValues.length, 2).setValues(checkboxValues);
}

关键修改说明

  • 覆盖M、N两列:原脚本仅处理M列,现在返回包含两个元素的数组,同时设置M、N列的复选框状态
  • 灵活匹配:用includes()替代严格相等判断,确保B列单元格只要包含"10:00 PM"就触发勾选,避免因格式细微差异导致匹配失败
  • 容错处理:添加工作表不存在、无数据行的判断,防止脚本运行报错
  • 可定制条件:注释中保留了原脚本的周日/r[6]为空判断逻辑,可按需切换使用

内容的提问来源于stack exchange,提问作者Elmar Onassis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:55:27