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

Excel需求:D列选READ时E列设当日日期且固定不随日期变更

解决Excel标记已读后固定日期的问题

你的问题核心是TODAY()属于易失性函数,Excel每次重新计算(比如打开文件、修改其他单元格)时,都会自动更新成当天日期,没法固定住标记已读的那个日期。下面给两个可行的解决方案:

方案1:用VBA工作表事件(最可靠)

这种方式能在你选择"READ"时,直接把当前日期写入E列,生成的日期完全静态不会变动:

  • 右键点击工作表标签(比如Sheet1),选择「查看代码」
  • 粘贴以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Columns("D")) Is Nothing Then
        Dim cell As Range
        For Each cell In Intersect(Target, Me.Columns("D"))
            If cell.Value = "READ" Then
                cell.Offset(0, 1).Value = Date
                cell.Offset(0, 1).NumberFormat = "yyyy-mm-dd" ' 可自定义成你需要的日期格式
            End If
        Next cell
    End If
End Sub
  • 关闭VBA编辑器回到工作表,之后只要D列选中"READ",对应的E列就会自动填入当天日期,且后续不会随系统日期变化。

方案2:用迭代计算(无需宏)

如果不想使用VBA,可以通过开启迭代计算实现:

  1. 点击「文件」→「选项」→「公式」,勾选「启用迭代计算」,将迭代次数设置为1
  2. 在E2单元格输入公式:=IF(D2="READ",IF(E2="",TODAY(),E2),"")
  3. 下拉公式到其他行即可

这个方法的逻辑是:只有当D2为"READ"且E2为空时,才生成当天日期;一旦日期生成后,E2有了值就不会再更新。但如果手动清空E列,它会重新生成当前日期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 15:42:08