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

如何修改Google Apps Script脚本,使其仅针对奇数列触发自动填充日期功能?

如何修改Google Apps Script脚本,使其仅针对奇数列触发自动填充日期功能?

嘿,我来帮你搞定这个问题!你现在的脚本已经限定了3到20列的触发范围,但还没加上奇数列的判断逻辑,其实只需要加个简单的取模运算就能精准实现需求啦。

核心思路很简单:用取模运算符%识别奇数列——任何奇数除以2的余数都是1,所以只要判断当前列数除以2的余数不等于0,就能筛选出奇数列。把这个判断和你原来的列范围条件结合起来就行。

修改后的完整脚本如下:

function onEdit() {
  var s = SpreadsheetApp.getActiveSheet();
  if (s.getName() == "2025 Attendance") {
    var r = s.getActiveCell();
    // 同时满足:在3-20列范围内,并且是奇数列
    if (r.getColumn() >= 3 && r.getColumn() <= 20 && r.getColumn() % 2 !== 0) {
      var nextCell = r.offset(0, 1);
      if (nextCell.getValue() === '') // 检查相邻单元格是否为空
        nextCell.setValue(new Date());
    }
  }
}

我给你拆解下关键修改点:

  • 新增的r.getColumn() % 2 !== 0就是奇数列的判断逻辑:%会返回除法的余数,奇数列的数字除以2余数为1,所以不等于0就代表是奇数列。
  • 把这个条件和你原来的列范围判断放在同一个if里,这样只有当编辑的单元格同时落在3-20列之间、且是奇数列时,才会触发后面的日期填充操作。

如果之后你需要调整列的范围,只需要修改>=3和<=20的数值就行,奇数列的判断逻辑完全不用动~

备注:内容来源于stack exchange,提问作者Sean Kilgo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 13:38:05