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

如何每14天自动切换单元格引用?可通过公式或VBA实现吗?

Excel D1单元格14天循环切换取值实现方案

两种实现方式均可满足需求:

1. 公式方案(无需代码,自动更新)

直接在D1单元格输入如下公式即可:

=IF(MOD(TODAY()-C1,28)<14,A1,B1)

逻辑说明:

  • 以28天为一个完整循环周期(14天取A1、14天取B1)
  • 用TODAY()获取当前系统日期,计算当前日期和C1起始日期的差值
  • 差值对28取余,余数小于14时取A1的值,否则取B1的值
  • 若需兼容起始日期晚于当前日期的场景,可调整公式为:
=IF(TODAY()<C1,A1,IF(MOD(TODAY()-C1,28)<14,A1,B1))

2. VBA方案(适合需要固定值、不随公式自动刷新的场景)

操作步骤:

  • 按下Alt+F11打开VBA编辑器,在左侧项目栏双击你要设置的工作表名称
  • 粘贴如下代码:
Sub SwitchD1Value()
    Dim diffDays As Long
    diffDays = Date - Range("C1").Value
    If diffDays < 0 Then
        Range("D1") = Range("A1")
    ElseIf diffDays Mod 28 < 14 Then
        Range("D1") = Range("A1")
    Else
        Range("D1") = Range("B1")
    End If
End Sub
  • 若需要每次打开工作簿时自动执行更新,可在「ThisWorkbook」模块中粘贴如下代码:
Private Sub Workbook_Open()
    Call SwitchD1Value
End Sub

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 00:36:10