跳至主要内容

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

Author: Sun Last Modified: 2025-05-07

在某些情况下,如果您有特定的开始日期和结束日期,则可能需要在 Excel 中列出这两个给定日期之间的所有日期。本教程将介绍在 Excel 中列出两个日期之间所有日期的方法。

通过公式列出两个日期之间的所有日期

通过 Kutools for Excel 列出两个日期之间的所有日期 good idea3

通过 VBA 列出两个日期之间的所有日期


通过公式列出两个日期之间的所有日期

在这里,我将介绍一些公式,这些公式可以快速为您在 Excel 中列出两个给定日期之间的所有日期。

1. 将开始日期和结束日期输入到两个单元格中,这里我将它们输入到单元格 A1 和 A2 中。请参见截图:
type the starting and ending dates

2. 然后转到单元格 C1 并输入以下公式 =A1+1 然后点击 Enter 键。请参见截图:
enter a formula to get the first date

3. 接着,在单元格 C2 中输入这个公式 =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1),然后向下拖动自动填充句柄直到出现空白单元格为止。请参见截图:

apply another formula to get the second date       drag and fill this formula to other cells

然后您可以看到两个给定日期之间的所有日期都列在列中。
all the dates between two given dates are listed

注意:

在上述公式中,A1 是起始日期,A2 是结束日期,而 C1 是日期范围中的第一个日期。


通过 Kutools for Excel 列出两个日期之间的所有日期

实际上,如果您安装了 Kutools for Excel —— 一个方便的加载项工具,您还可以使用 插入随机数据 功能来解决这个问题。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

免费安装 Kutools for Excel 后,请按照以下步骤操作:

1. 选择要在其中列出两个日期之间日期的一列,然后点击 Kutools > 插入 > 插入随机数据。请参见截图:
click Insert Random Data feature of kutools

2. 然后在 插入随机数据 对话框中,点击 日期 选项卡,然后从 列表中选择起始日期和结束日期,然后记得勾选 工作日, 周末生成唯一值 复选框。请参见截图:
set options in the dialog box

3. 点击“ 确定”关闭对话框,另一个 Kutools for Excel 对话框弹出,只需点击“”。然后您可以看到起始日期和结束日期之间的日期已列出。请参见截图:

click ok in the prompt box           the dates between two dates are listed

4. 现在您需要按所需顺序对日期列表进行排序。点击 数据 > 从最早到最晚排序。然后您可以看到日期已从最早日期排序到最晚日期。请参见截图:

Data > Sort Oldest to Newest          the dates are sorted from oldest date to newest

借助 插入随机数据 工具,您还可以插入随机整数、随机字符串和随机时间等。点击此处了解更多关于 插入随机数据 的信息。


通过 VBA 列出两个日期之间的所有日期

如果您对宏代码感兴趣,可以使用以下 VBA 在 Excel 中列出两个给定日期之间的所有日期。

1. 将起始日期和结束日期输入到两个单元格中,这里我将它们输入到单元格 A1 和 B1 中。请参见截图:
doc-list-all-dates-between-two-dates-6

2. 按 Alt +F11 键打开 Microsoft Visual Basic for Applications 窗口。

3. 然后点击 插入 > 模块,并将以下 VBA 代码复制并粘贴到弹出的 模块 窗口中。

VBA:列出两个日期之间的所有日期。

Sub WriteDates()
	'Updateby20150305
	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     = "KutoolsforExcel"
	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("A1").Value
	EndValue     = EndRng.Range("A1").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

4. 点击 运行 F5 来运行 VBA,会弹出一个对话框让您选择起始日期,然后点击 确定,接着在第二个弹出的对话框中选择结束日期。请参见截图:

vba code to select the start date          vba code to select the end date

5. 点击 确定,然后选择一个单元格以输出日期,再点击 确定。现在您可以看到两个日期之间的所有日期都已列出。请参见截图:

select a cell to put out the dates         all the dates between two dates are listed

注意:此 VBA 生成的列表包括起始日期和结束日期。

列出两个日期之间的所有日期

 

相关文章:


最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!