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

如何让TODAY()函数表头列的数据随日期变更同步移动

解决日期表头更新时配送数据不同步的问题

方法一:用动态公式匹配数据(推荐)

这种方法通过分离数据存储和展示区域,让展示数据自动匹配表头日期,从根源避免错位:

  1. 新建一个「数据源」工作表,专门存储所有历史配送记录:
    • A列存日期(手动输入或用TODAY()记录当天日期)
    • B列存对应日期的配送文本信息
  2. 回到原展示工作表,设置表头:
    • A1单元格输入=TODAY()(当天日期)
    • B1输入=TODAY()-1(前一天),C1输入=TODAY()-2,以此类推到E1(共5列)
  3. 为每一列的配送信息设置匹配公式:
    • A2单元格输入=INDEX(数据源!$B:$B, MATCH(A1, 数据源!$A:$A, 0))
    • 把A2的公式向右拖动到E2,再向下拖动覆盖所有需要展示的行
      这样每天打开表格时,表头日期自动更新,公式会自动从数据源中匹配对应日期的配送数据,不会出现错位。

方法二:用VBA脚本自动同步数据移动

如果习惯在同一区域维护数据,可以用脚本实现每天自动左移数据:

  1. 按下Alt+F11打开VBA编辑器
  2. 双击左侧对应工作表,粘贴以下代码:
Private Sub Workbook_Open()
    ' 将右侧列数据依次左移
    Range("E2:E100").Copy Range("D2:D100") ' 调整E和D为实际列范围,100为最大行数
    Range("D2:D100").Copy Range("C2:C100")
    Range("C2:C100").Copy Range("B2:B100")
    Range("B2:B100").ClearContents ' 清空最左侧列数据,准备录入当天新信息
    ' 更新表头日期
    Range("A1").Formula = "=TODAY()"
    Range("B1").Formula = "=TODAY()-1"
    Range("C1").Formula = "=TODAY()-2"
    Range("D1").Formula = "=TODAY()-3"
    Range("E1").Formula = "=TODAY()-4"
End Sub
  1. 保存表格为「启用宏的工作簿(.xlsm)」格式,之后每天打开表格时,数据会自动左移,和更新后的表头日期同步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 14:28:17