KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中将日期设置为当月的第一天?

作者Xiaoyang修改日期
显示一组随机日期的截图,这些日期将被转换为其对应月份的第一天

在 Excel 中处理数据集时,常常需要对日期进行标准化,例如将任意给定日期转换为其所在月份的第一天。这一操作在财务分析、月度报告或按月分组数据(忽略具体日期)时尤为实用,如下方示例所示。本指南为您介绍两种高效的 Excel 公式方法及一段 VBA 代码,助您轻松将任意日期快速转换为对应月份的第一天。

使用公式将日期设置或转换为指定月份的第一天

使用 VBA 将日期设置或转换为指定月份的第一天


使用公式将日期设置或转换为指定月份的第一天

若要快速将一组随机日期统一调整为各自月份的第一天,Excel 提供了几个简单高效的公式。当您需要为数据透视表、月度汇总或周期性数据审查标准化日期时,这种方法尤为实用。

1. 单击日期所在行的相邻空白单元格(例如,若原始日期位于 )A2,则使用 B2 单元格)。输入以下公式:

=EOMONTH(A2,-1)+1

2. 输入公式后,按 Enter,即可在该单元格中显示 A2 中日期所在月份的第一天。

3. 要将此公式应用到其余日期,请将鼠标移至单元格右下角,直到出现填充柄(+符号),然后单击并向下拖动,覆盖需要转换的单元格范围。每个日期将自动转换为对应月份的第一天。参见截图:

显示在 Excel 中使用公式将随机日期转换为当月第一天的结果的截图

故障排除与技巧:

  • 如果公式结果显示为序列号,您可能需要将单元格格式设置为日期。右键单击该单元格,选择设置单元格格式,然后选择一种合适的日期格式。
  • 请确保 A 列中的日期值为有效的 Excel 日期格式,否则公式可能会出错。

注意事项:

1. 如果您希望公式结构更简单,或您的 Excel 版本中没有 EOMONTH 函数,还可以使用另一种公式。在空白单元格中输入:

=DATE(YEAR(A2),MONTH(A2),1)

该公式直接从您的日期中提取年份和月份,并将日期设为 1,从而返回该月的第一天。与之前一样,您只需向下拖动公式,即可自动填充该列中的其他单元格。

2. 在上述两个公式中,A2 应替换为您要转换的日期所在单元格的引用。如果您的数据位于其他列,请相应调整单元格引用。

可用性与限制:

  • 这些方法适用于标准 Excel 工作表。若您处理的是大型数据集,或需对多个文件自动执行此操作,建议使用 VBA 或其他批量处理工具,以显著提升效率。
  • 公式最适合用于结构清晰的日期列——若包含混合数据类型或看似日期的文本字符串,则可能需要预先清理。

使用 VBA 将日期设置或转换为指定月份的第一天

对于需要频繁在不同工作簿中执行此操作,或需处理大量日期的用户,使用 VBA 宏可显著节省时间。若您希望一次性转换多列,或实现流程自动化,此方法同样高效实用。操作步骤如下:

1. 转到开发工具 > Visual Basic 以打开 VBA 编辑器。在编辑器窗口中,单击插入 > 模块,然后粘贴以下代码:

Sub DatesToFirstOfMonth()
    Dim rng As Range
    Dim cell As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select the range for conversion", xTitleId, rng.Address, Type:=8)
    For Each cell In rng
        If IsDate(cell.Value) Then
            cell.Value = DateSerial(Year(cell.Value), Month(cell.Value), 1)
        End If
    Next cell
End Sub

2. 输入代码后,单击运行按钮(运行)按钮,或按 F5 执行宏。系统将提示您选择一个区域——请选择包含日期值的区域,所有选中的日期将自动更改为各自月份的第一天。

  • 如果出现“类型不匹配”错误,请检查所选单元格是否包含有效的日期值。
  • 运行 VBA 代码前,请务必保存您的工作,因为宏操作无法通过 Ctrl+Z 撤销。

通过上述选项,无论您偏好使用公式还是借助 VBA 自动化任务,都能高效地将任意日期列表转换为其所在月份的第一天。请选择最适合您工作流程和数据规模的方法。如遇错误或意外结果,请仔细检查单元格格式与引用,并考虑事先使用 Excel 的分列工具清理模糊的日期值。


最佳办公效率工具

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

使用 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 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱