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

如何在Google Sheets中匹配今日日期并镜像其对应相邻单元格到今日视图

Google Sheets 跨表同步今日高亮内容到「今日视图」解决方案

方案1:公式方案(无需代码,适配少量工作表场景)

如果你的日历内容都集中在1-2个工作表内,直接使用公式即可实现需求:

  • 首先在「今日视图」任意空白单元格(如A1)输入今日日期公式:=TODAY()
  • 在A2单元格输入如下匹配公式,向右填充到G列、向下填充到第8行,即可自动同步日历表中今日日期对应7*7区域的内容:
=IFERROR(OFFSET(日历!$A$1,MATCH(TODAY(),日历!$A:$A,0)-1+ROW(A1)-1,COLUMN(A1)-1),"")
  • 如需遍历多个工作表,先在「今日视图」空白列(如Z列)列出所有需要检索的日历工作表名称,再在A2单元格输入数组公式:
=BYROW(SEQUENCE(7),LAMBDA(row_offset,BYCOL(SEQUENCE(7),LAMBDA(col_offset,REDUCE("",Z:Z,LAMBDA(res,sheet,IF(res<>"",res,IFERROR(OFFSET(INDIRECT(sheet&"!$A$1"),MATCH(TODAY(),INDIRECT(sheet&"!$A:$A"),0)-1+row_offset-1,col_offset-1),"")))))))

方案2:Apps Script脚本方案(稳定适配多工作表、自动识别高亮)

如果需要遍历全工作簿、或者直接识别绿色高亮单元格同步,推荐使用脚本方案,支持每日自动更新无需手动操作:

  • 操作步骤:
    1. 打开表格后点击顶部菜单栏「扩展程序」->「Apps 脚本」
    2. 删除编辑器内默认代码,粘贴如下代码:
    function syncTodayView() {
      const ss = SpreadsheetApp.getActiveSpreadsheet();
      const todayView = ss.getSheetByName("今日视图");
      const targetRange = todayView.getRange("A2:G8");
      targetRange.clearContent();
      // 按日期匹配替换成按高亮匹配,修改下方判断逻辑即可
      const today = new Date();
      today.setHours(0,0,0,0);
      const allSheets = ss.getSheets();
      let targetCell = null;
      // 遍历所有工作表查找今日日期/高亮单元格
      for(let sheet of allSheets) {
        if(sheet.getName() === "今日视图") continue;
        const data = sheet.getDataRange().getValues();
        for(let r = 0; r < data.length; r++) {
          for(let c = 0; c < data[r].length; c++) {
            // 按日期匹配逻辑
            if(data[r][c] instanceof Date) {
              const cellDate = new Date(data[r][c]);
              cellDate.setHours(0,0,0,0);
              if(cellDate.getTime() === today.getTime()) {
                targetCell = sheet.getRange(r+1, c+1);
                break;
              }
            }
            // 按高亮匹配逻辑(替换上面的日期判断即可,颜色码改成你的绿色值)
            // if(sheet.getRange(r+1,c+1).getBackground() === "#34a853") {
            //   targetCell = sheet.getRange(r+1, c+1);
            //   break;
            // }
          }
          if(targetCell) break;
        }
        if(targetCell) break;
      }
      // 同步7*7区域内容到今日视图
      if(targetCell) {
        const sourceVals = targetCell.offset(0,0,7,7).getValues();
        targetRange.setValues(sourceVals);
      }
    }
    
    1. 点击保存按钮,命名项目后按照提示授权脚本访问表格权限
    2. 设置自动更新:点击左侧菜单栏「触发器」(闹钟图标)-> 「添加触发器」,选择syncTodayView函数,事件源选择「时间驱动」,触发频率设置为「每日」,选择你需要的更新时间保存即可。

内容的提问来源于stack exchange,提问作者James Doherty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:45:02