咨询Excel文件间复制数据时拆分YYYYMM格式日期并调整格式的实现方法
Excel 202010格式年月拆分及目标格式生成实操
操作前提先对齐:将源文件数据完整复制粘贴到目标工作簿后,假设存储YYYYMM格式年月的原始列位于B列(数据从第2行开始,第1行是表头),拆分得到的年份、月份、当月首日列依次存入相邻的D、E、F列,可直接套用以下方案。
纯函数实现(适合小体量数据快速处理)
所有公式输入到对应单元格后下拉填充整列即可:
- 提取年份值:D2单元格输入
=LEFT(B2,4)
从原始年月值最左侧截取4位字符,兼容原列为数字、文本两种存储格式,不会出现类型不匹配报错。 - 提取月份值:E2单元格输入
=RIGHT(B2,2)
从原始年月值最右侧截取2位字符,1-9月对应的01-09格式也能完整截取,不会出现数值错位。 - 生成当月首日日期:F2单元格输入
=DATE(D2,E2,1)
该函数会将拆分得到的年、月和固定的“当月1号”参数,组合成Excel可识别的真日期值。输入完成后选中F列全列,右键打开「设置单元格格式」,选择自定义格式,输入DD/MM/YYYY确认后,单元格就会显示为要求的01/10/2020样式。
踩坑提醒:不要用字符串拼接的方式直接生成"01/"&E2&"/"&D2格式的内容,这类值本质是文本,后续无法直接参与日期筛选、时间维度计算;用DATE函数生成的真日期值,调整显示格式后既满足展示要求,也不损失数据的可计算属性。
Power Query 批量处理(适合大文件、定期同步场景)
如果数据量超过1万行、后续需要频繁从源文件更新数据,该方案可大幅减少重复操作:
- 选中粘贴完成的全量原始数据区域,点击顶部菜单栏「数据」-「从表格/区域」,确认将区域导入Power Query编辑器。
- 找到原始存储
YYYYMM格式的列,依次通过「添加列」-「自定义列」生成3个目标列:- 年份列:自定义公式输入
= Number.FromText(Text.Start([你的原年月列名],4)),列名设为“年份” - 月份列:自定义公式输入
= Number.FromText(Text.End([你的原年月列名],2)),列名设为“月份” - 当月首日列:自定义公式输入
= #date([年份],[月份],1),列名设为“当月首日”
- 年份列:自定义公式输入
- 选中生成的“当月首日”列,右键选择「更改类型」为日期,再点击「转换」-「格式」-「使用区域设置」,选择英语(英国)区域,匹配DD/MM/YYYY的显示规则。
- 点击顶部「关闭并上载」,所有处理完成的列会自动生成在目标工作表中;后续源数据更新时,只要右键表格选择「刷新」,即可自动完成全量数据的拆分、格式转换,无需重复输入公式。
内容的提问来源于stack exchange,提问作者Mahinak47
相关产品推荐
相关产品推荐

