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

Office 365免费版:B1输入数字时自动插入静态日期至A1的公式需求

实现B1输入数字时A1自动填充静态当日日期(Office 365免费版)

问题原因

你使用DATE函数后日期会变更,是因为这类日期函数属于动态计算型,每次打开工作簿或触发工作表重新计算时,都会自动更新为当前日期,无法保留输入数据时的日期值。

解决方案

方案1:桌面版Office 365(支持VBA)

通过工作表的Change事件宏,在B1输入数字时给A1写入静态日期值:

  1. 右键点击目标工作表标签(如Sheet1),选择「查看代码」。
  2. 在VBA编辑器中粘贴以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$1" Then
        If IsNumeric(Target.Value) And Target.Value <> "" Then
            Range("A1").Value = Date
        End If
    End If
End Sub
  1. 将工作簿另存为「启用宏的工作簿(.xlsm)」格式,确保宏代码能被保存。
  2. 回到工作表,在B1输入数字后,A1会自动填入当日日期,该日期是静态值,后续打开不会变更。

方案2:Office 365网页版(用Office Scripts)

网页版不支持VBA,可通过Office Scripts实现:

  1. 点击Excel网页版顶部的「自动化」→「新建脚本」。
  2. 在脚本编辑器中粘贴以下代码:
function main(workbook: ExcelScript.Workbook) {
    const sheet = workbook.getActiveWorksheet();
    const targetCell = sheet.getRange("B1");
    const dateCell = sheet.getRange("A1");
    
    // 检查B1是否为非空数字
    if (targetCell.getValue() !== "" && typeof targetCell.getValue() === "number") {
        // 写入当前日期(静态值)
        dateCell.setValue(new Date());
        // 可设置日期格式,比如"yyyy/mm/dd"
        dateCell.setNumberFormatLocal("yyyy/mm/dd");
    }
}
  1. 保存脚本,回到工作表后,点击「自动化」→「运行脚本」选择刚才保存的脚本;也可在「自动化」→「触发器」中配置,实现B1修改时自动运行脚本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:42:36