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

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

假设您需要构建一个按日期组织的表格,例如,您正在制定一个时间表并需要指定按日期排列的活动列表。如果是这种情况,您需要一个日期列表。

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

使用公式列出所有日期

让我们通过一个例子逐步了解。

第一步

在我们的例子中,我们在Excel表格中有开始日期和结束日期。我们将创建一个列表,其中包含开始日期和结束日期之间的日期。请参见以下图像。

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

第二步

然后在C2单元格中键入下面给出的公式,然后按Enter。公式是=A2+1,其中A2是写有开始日期的单元格。按Enter后,您将看到开始日期的下一个日期。请参见以下图像。

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

第三步

然后,在C3单元格中选择下面给出的公式,然后按Enter。

=IF(A2+ROW(A2)>=B2,"",C2+1)

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

第四步

单击在单元格C3的右下角出现的“+”符号,这将启用自动填充功能,然后拖动以在其他单元格中反映出来。

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

定义语法或进行修改的难度是使用此公式的主要缺点。此外,日期未按正确顺序排列。

使用VBA列出所有日期

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

请按照以下步骤操作 −

第一步

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

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

第二步

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

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

第三步

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

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

这是VBA编辑器。

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

第四步

在模块窗口中,输入以下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,然后会弹出一个窗口,在其中选择 起始日期, 然后单击 确定, 接着在下一个窗口中,选择 结束日期, 然后单击 确定。

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

然后会弹出另一个窗口,询问 输出位置, 输入输出单元格,然后单击 确定。

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

在我们的示例中,起始日期的单元格值为 A2,因此我们写成这样:” A A 2″。

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

在我们的示例中,结束日期的单元格值为 B2,因此我们写成这样:” B B 2″。

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

在我们的示例中,输出日期的单元格值为 C2,因此我们写成这样:” C C 2″。

点击确定后,关闭 VBA 窗口,就会得到起始日期和结束日期之间的所有日期,包括起始日期和结束日期,如下图所示。

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

结论

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程