如何在 Excel 中列出两个日期之间的所有日期?


想象一下,您需要创建一个按日期组织的表格。例如,您正在制作一个日程安排,需要按日期顺序指定一系列活动列表。在这种情况下,您将需要一个日期列表。

没有无限的列表,因此可以认为您将有一个开始日期和一个结束日期。在某些情况下,如果您已经知道要开始的日期和要结束的日期,则可能需要使用 Excel 创建这两个指定日期之间所有日期的列表。

使用公式列出所有日期

让我们通过一个示例一步一步地了解。

步骤 1

在我们的示例中,我们在 Excel 表格中有了开始日期和结束日期。我们将创建一个从开始日期到结束日期之间的日期列表。请参见下图。

步骤 2

然后在 C2 单元格中输入以下公式并按 Enter 键。公式为 =A2+1,其中 A2 是写入开始日期的单元格。按下 Enter 后,您将看到开始日期的下一天。请参见下图。

步骤 3

之后,选择单元格 C3,然后在公式栏中输入以下公式并按 Enter 键。

=IF($A$2+ROW(A2)>=$B$2,"",C2+1)

步骤 4

单击 C3 单元格右下角出现的“+”号,这将激活自动填充功能,然后向下拖动以反映到其他单元格中。

定义语法或修改此公式的难度是使用它的主要缺点。除此之外,日期的顺序也不完全正确。

使用 VBA 列出所有日期

如果您对宏代码感兴趣,则可以在 Excel 中使用以下 Visual Basic for Applications (VBA) 来列出两个指定日期之间的任何日期。

按照以下步骤操作 -

步骤 1

将开始日期和结束日期输入到不同的单元格中。

步骤 2

要打开 Microsoft Visual Basic for Applications 窗口,请同时按“Alt + F11”键。

步骤 3

然后单击插入 > 模块,将弹出模块窗口。

这是 VBA 编辑器。

步骤 4

在模块窗口中,键入以下 VBA 代码。

Sub DatesBetween()
    Dim rng As Range
    Dim StartRng As Range
    Dim EndRng As Range
    Dim OutRng As Range
    Dim StartValue As Variant
    Dim EndValue As Variant
    xTitleId = "VBOutput"
    Set StartRng = Application.Selection
    Set StartRng = Application.InputBox("Start Range (single cell):", xTitleId, StartRng.Address, Type:=8)
    Set EndRng = Application.InputBox("End Range (single cell):", xTitleId, Type:=8)
    Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
    Set OutRng = OutRng.Range("A1")
    StartValue = StartRng.Range("A2").Value
    EndValue = EndRng.Range("A2").Value
    If EndValue - StartValue <= 0 Then
        Exit Sub
        End If
        ColIndex = 0
        For i = StartValue To EndValue
            OutRng.Offset(ColIndex, 0) = i
            ColIndex = ColIndex + 1
        Next
    End Sub

步骤 5

单击运行F5运行 VBA,将弹出一个窗口,您将在其中选择开始日期,然后单击确定,然后在下一个窗口中,选择结束日期,然后单击确定

然后会弹出一个窗口询问输出到,提供输出单元格并单击确定

在我们的示例中,开始日期的单元格值为 A2,因此我们这样写:“A2".

在我们的示例中,结束日期的单元格值为 B2,因此我们这样写:“B2".

在我们的示例中,输出日期的单元格值为 C2,因此我们这样写:“C2".

单击确定后,关闭 VBA 窗口,您将获得开始日期和结束日期之间的日期,包括开始日期和结束日期,如下面的图像所示。

结论

在本教程中,我们展示了两种不同的方法(公式和 VBA),您可以使用它们来列出 Excel 中两个给定日期之间所有日期。

更新于: 2022 年 9 月 10 日

5K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.