如何让Excel将数字输入识别为yymmdd格式的日期
解决Excel输入'yymmdd'无分隔符日期的问题
给你几个实用的解决办法:
先设自定义格式,再用公式批量转换
- 选中要输入日期的单元格区域,右键选「设置单元格格式」→「数字」→「自定义」,在类型框里输入
yymmdd后确定。这一步只是让单元格能显示无分隔符的日期,但直接输数字还是会出错,得配合转换。 - 比如在A列输入6位数字(如220514),在B1单元格输入公式:
=DATE(2000+LEFT(A1,2),MID(A1,3,2),RIGHT(A1,2)),下拉公式就能批量把数字转成对应日期。 - 最后把B列的内容复制,右键A列选「粘贴选项」→「值」,再删掉B列就行。
- 选中要输入日期的单元格区域,右键选「设置单元格格式」→「数字」→「自定义」,在类型框里输入
用快速填充(Ctrl+E)高效转换
- 先给目标区域设置
yymmdd的自定义格式。 - 手动把第一个数字(比如A1的220514)改成正确的日期(在编辑栏输入2022/5/14,单元格会自动显示220514)。
- 选中A2及以下需要转换的单元格,按下快捷键
Ctrl+E,Excel会自动识别规律,把所有6位数字转成对应日期。
- 先给目标区域设置
VBA批量处理(适合大量数据)
如果要处理成百上千条数据,用宏更高效:- 按
Alt+F11打开VBA编辑器,右键当前工作簿→「插入」→「模块」。 - 粘贴以下代码:
Sub ConvertYYMMDD() Dim rng As Range For Each rng In Selection If IsNumeric(rng.Value) And Len(rng.Value) = 6 Then rng.Value = DateSerial(2000 + Left(rng.Value, 2), Mid(rng.Value, 3, 2), Right(rng.Value, 2)) rng.NumberFormat = "yymmdd" End If Next rng End Sub - 回到Excel,选中所有要转换的数字区域,按
Alt+F8选择刚才的宏并执行,瞬间就能完成转换。
- 按
输入时加单引号(适合少量数据)
输入日期前先打一个单引号',比如输入'220514,Excel会把它当成文本保存。之后选中这些单元格,设置自定义格式为yymmdd,再用「数据」→「分列」功能:选「分隔符号」→下一步→下一步→列数据格式选「日期」,类型选「YMD」,确定后就能转成标准日期并按yymmdd显示。
内容的提问来源于stack exchange,提问作者LafaMan
相关产品推荐
相关产品推荐

