如何在Excel单个单元格输入函数向两个指定单元格输出日期内容
Excel单个单元格输入同步填充多单元格日期的实现方法
适用Excel 365/2021及以上版本(支持溢出数组)
你只需要在C4单元格输入以下单个公式即可,公式会自动向右溢出填充D4,无需给D4单独设置公式:=LET(today,TODAY(),HSTACK(today,WORKDAY(today,3)))
效果说明:
- C4自动显示=TODAY()返回的当前系统日期
- D4自动计算并显示当前日期往后推3个工作日的日期
- 后续打开文件或表格刷新时会自动更新日期
适用所有Excel版本的兼容方案
如果你的Excel版本不支持溢出数组功能,可以用两种方式实现:
方式1:双单元格公式(最稳定)
分别给两个单元格设置公式即可:
- C4单元格输入:
=TODAY() - D4单元格输入:
=WORKDAY(C4,3)
如果需要排除自定义节假日,可在WORKDAY函数中补充第三个参数指定节假日存储区域,示例:=WORKDAY(C4,3,F1:F20),其中F1:F20为你提前录入的法定节假日列表。
方式2:VBA事件(单个操作触发双单元格填充)
如果你需要完全实现仅操作C4就自动填充两个单元格的效果,可以用工作表事件代码:
- 右键点击当前工作表底部的标签,选择「查看代码」
- 在弹出的VBA编辑器中粘贴如下代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' 仅当选中C4单元格时触发填充 If Target.Address = "$C$4" Then ' C4填充当前日期 Range("C4") = Date ' D4填充3个工作日后日期 Range("D4") = WorksheetFunction.WorkDay(Date, 3) End If End Sub
- 关闭VBA编辑器回到表格即可,后续只要点击C4单元格,就会自动完成两个单元格的日期填充。
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

