跳至主要内容

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

Author: Sun Last Modified: 2025-07-31

在某些情况下,如果您有特定的开始日期和结束日期,则可能需要在 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 生成的列表包括起始日期和结束日期。

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

 

相关文章:


最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!