如何在 Excel 中快速生成随机时间?
在使用 Excel 时,出于测试、数据分析、排程或模拟等目的,常常需要插入随机的数字、日期或文本字符串。而在某些场景下,您可能还需要在指定范围内或按特定间隔生成随机时间——例如创建模拟时间表、填充考勤记录,或为系统测试生成基于时间的数据。尽管 Excel 本身并未提供直接生成随机时间的功能,但仍有多种实用解决方案可供选择,包括内置公式、便捷的插件工具以及灵活的 VBA 宏方法。
使用公式在 Excel 中生成随机时间
以下公式可根据您的需求生成随机时间,例如全天范围内的随机时间、两个特定时间之间的随机时间,或按指定间隔生成的随机时间。这些方法适用于大多数日常 Excel 任务,尤其适合希望立即获得结果、无需启用宏或安装插件的用户。
在 Excel 中生成随机时间
要快速在某一区域填充随机时间,请在空白单元格中输入以下公式,然后向下拖动填充柄,将公式应用到所需行。这将生成一个介于 00:00:00 至 23:59:59 之间的格式化随机时间值。

您可以根据需要将此公式向下复制到任意多行。请注意,RAND()函数会在每次工作表重新计算时生成新值,因此只要对工作表进行任何更改,随机时间就会自动更新。若要保留已生成的时间,请复制结果,并使用选择性粘贴为数值功能覆盖公式。
在 Excel 中生成两个时间之间的随机时间
如果您希望在限定的时间窗口内(例如 11:00 至 15:00)生成随机时间,可使用以下公式。该方法非常适合用于模拟排班、预约系统,或任何需要在特定时间范围内进行仿真的场景。
在空白单元格中输入以下公式,然后拖动填充柄至需要填充随机时间的区域。

生成时间后,如需将其固定为静态值,请以数值形式粘贴。注意:如果您的起始/结束时间恰好为午夜(00:00),请确保在公式中正确使用 0 和 24,以避免日期回绕错误。
在 Excel 中按特定间隔生成随机时间
若要按设定间隔(例如每 15 或 30 分钟)随机生成时间,可将 RAND 与 FLOOR 函数结合,嵌入 TEXT 函数中使用。此方法特别适用于创建随机预订、设置随机事件开始时间,或以精确增量分布模拟数据等任务。
将此公式输入或复制到空白单元格中,然后根据需要向下拖动填充柄,即可生成所需数量的、按指定间隔分布的随机时间。

为提升稳定性,请在生成结果后将其转换为数值。

借助 KUTOOLS AI 解锁 Excel 的神奇功能
- 智能执行:只需输入简单命令,即可执行单元格操作、分析数据并创建图表。
- 自定义公式:生成量身定制的公式,助您优化工作流程!
- VBA 编码:轻松编写并运行 VBA 代码。
- 公式解析:轻松掌握复杂公式,一目了然!
- 文本翻译:轻松打破电子表格中的语言障碍!
在 Excel 中生成两个日期时间之间的随机日期和时间
若需同时生成随机的日期和时间值(例如用于填充随机事件日志或排程记录),可使用以下公式。该方法巧妙融合日期与时间,助您轻松生成更全面、逼真的测试或模拟数据。
在单元格中输入或粘贴该公式,然后根据需要向下拖动以填充更多行。

向下拖动公式时,每个单元格都会在您指定的时间范围内自动生成新的随机日期和时间。如只需日期部分或时间部分,请相应调整公式格式(例如,仅需日期时使用“YYYY-MM-DD”)。
使用便捷功能在 Excel 中生成随机时间
Kutools for Excel 的插入随机数据功能,助您轻松应对繁琐的公式管理或大规模随机数据自定义需求——只需几次点击,即可快速插入随机数字、日期、时间,甚至自定义文本字符串。此功能特别适合频繁使用随机数据、希望避免公式重算,或需要额外选项(如在指定范围内插入唯一时间)的用户。
安装 Kutools for Excel 后,请按以下步骤操作:
1. 选择一个空白单元格区域,用于填充随机时间。
2. 导航至 Kutools > 插入 > 插入随机数据。

3. 在插入随机数据对话框中,切换到时间选项卡,在 From 和 To 框中分别输入所需的起始时间和结束时间。

提示:若要确保生成的所有时间均不重复,请勾选唯一值选项。
4. 单击 OK 或 Apply,所选区域将立即填充随机时间。

插入随机数据功能特别实用,可确保生成的随机时间为静态值(插入后不会变动)。
使用 VBA 代码在 Excel 中生成随机时间
在 Excel 中生成随机时间的另一种灵活方式是使用 VBA 宏。借助自定义 VBA,您可轻松加入额外要求,例如排除特定小时、按指定间隔生成时间,或在工作表内容变更时自动更新随机时间。此宏方法尤其适合需要更高控制力,或希望为多个区域及重复流程自动执行随机时间生成的用户。
以下是一个示例 VBA 宏,可在您选定的单元格中生成并填充随机时间。您可以根据需求灵活调整起始与结束时间、随机化粒度(按分钟或秒),或排除特定小时段。
1. 单击开发工具>Visual Basic,即可打开 VBA 编辑器。在 VBA 窗口中,依次点击插入> 模块,新建一个模块,并将下方代码复制粘贴其中。(若“开发工具”选项卡未显示,请前往 Excel 选项 > 自定义功能区中启用该选项卡。)
Sub GenerateRandomTimes()
Dim WorkRng As Range
Dim StartHour As Integer
Dim EndHour As Integer
Dim ExcludeHour As Integer
Dim cell As Range
Dim xTitleId As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Select range to fill random times:", xTitleId, WorkRng.Address, Type:=8)
StartHour = Application.InputBox("Start hour (0-23):", xTitleId, 8, Type:=1)
EndHour = Application.InputBox("End hour (1-24):", xTitleId, 18, Type:=1)
ExcludeHour = Application.InputBox("Hour to exclude (if none, type -1):", xTitleId, -1, Type:=1)
Application.ScreenUpdating = False
Randomize
For Each cell In WorkRng
Dim h As Integer, m As Integer, s As Integer
Do
h = Int((EndHour - StartHour) * Rnd + StartHour)
Loop While h = ExcludeHour
m = Int(60 * Rnd)
s = Int(60 * Rnd)
cell.Value = TimeSerial(h, m, s)
cell.NumberFormat = "hh:mm:ss"
Next cell
Application.ScreenUpdating = True
End Sub 2. 按下 F5 键运行宏,系统将弹出提示框,引导您选择目标单元格区域。随后,您可以设置所需的起始小时和结束小时,并(如需要)指定要排除的小时。若无需排除任何特定小时,请输入 -1,宏将在所选区域中插入唯一的随机时间。
此 VBA 方法支持高级自定义,例如排除夜间时段,或通过更改分钟或秒的随机化方式生成不同的时间间隔。如果在相同区域重复运行该宏,原有值将被覆盖——若要在新执行前保留结果,请务必先将其复制到其他位置。
更多相关文章:
- 在两个日期之间生成随机日期
- 在使用 Excel 文件时,您可能需要为特定用途快速生成随机日期。虽然可以手动逐个输入,但当需要插入大量日期时,这种方式既费时又乏味。那么,如何在 Excel 中高效生成随机日期呢?
- 检查时间是否介于两个时间之间
- 在 Excel 中,如何快速判断某个特定时间是否介于两个给定时间之间?手动逐一检查不仅繁琐,还浪费大量时间。本文将为您介绍几个简单高效的公式,轻松解决这一难题。
- 时间转换在 12 小时制与 24 小时制之间转换
- 日常使用 Excel 时,您可能会根据实际需求采用不同的时间格式,例如下图所示的 12 小时制与 24 小时制。那么,如何在 Excel 中将时间格式在 12 小时制与 24 小时制之间相互转换呢?
- 计算午夜之后的时间差(小时数)
- 假设您有一张记录工作时间的表格,A 列为当天的开始时间,B 列为次日的结束时间。通常,若直接使用公式“=B 2-A2”计算两时间之间的差值,结果将不正确,如左侧截图所示。那么,如何在 Excel 中准确计算跨越午夜的两个时间之间的小时数呢?
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……
Office Tab 为 Office 带来标签式界面,让您的工作更轻松
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!
所有 Kutools 插件,一个安装程序
Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱