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

Google Sheets夜间工作表如何与午间表保持同日期?技术问询

解决Google Sheets夜间工作表日期同步问题

方案一:直接引用午间工作表日期(最简且可靠)

既然要求夜间工作表日期和早、午工作表完全一致,无需自行计算日期,直接引用午间工作表的日期单元格即可:

  • 夜间工作表A1单元格公式:='Afternoon'!A1
  • 夜间工作表A2单元格公式:='Afternoon'!A2
  • 夜间工作表A3单元格公式:='Afternoon'!A3

这样A10通过=concatenate(A1:A9)拼接出的日期会和午间表完全同步,无论夜间何时修改A9,工作表名称都会和早、午表保持一致。

方案二:修正原判断公式(若需自定义逻辑)

你原公式存在两处错误:一是today未加括号(需写成TODAY());二是仅比较日会出现跨月判断失效的问题。修正后的完整逻辑公式如下:

先计算目标日期:
=IF(TODAY()=DATE('Afternoon'!A3,'Afternoon'!A2,'Afternoon'!A1), TODAY(), TODAY()-1)

再拆分到A1、A2、A3:

  • A1(日):=DAY(IF(TODAY()=DATE('Afternoon'!A3,'Afternoon'!A2,'Afternoon'!A1), TODAY(), TODAY()-1))
  • A2(月):=MONTH(IF(TODAY()=DATE('Afternoon'!A3,'Afternoon'!A2,'Afternoon'!A1), TODAY(), TODAY()-1))
  • A3(年):=YEAR(IF(TODAY()=DATE('Afternoon'!A3,'Afternoon'!A2,'Afternoon'!A1), TODAY(), TODAY()-1))

可选:优化onEdit脚本减少无效触发

原脚本每次编辑单元格都会执行,可优化为仅当A9单元格被编辑时才触发,提升效率:

function onEdit(e) {
  var range = e.range;
  // 仅在编辑A9单元格时执行逻辑
  if (range.getRow() === 9 && range.getColumn() === 1) {
    var sheet = range.getSheet();
    var oldName = sheet.getName();
    var newName = sheet.getRange(1,10).getValue();
    if (newName.toString().length > 0 && newName !== oldName) {
      sheet.setName(newName);
    }
  }
}

内容的提问来源于stack exchange,提问作者Catalin Ciobanu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:43:21