夜雨聆风学习资料网

ARTICLE · 1332408

日期转文本、文本转日期,这8个Excel公式帮你全搞定!

日期转文本、文本转日期,这8个Excel公式帮你全搞定!

【导语】

在日常办公中,从系统导出的数据往往“群魔乱舞”:有的是纯数字,有的是带点的,还有的是中文年月日。想统一成标准日期?或者想将日期反过来变成特定的文本?

今天,我们结合具体的实操案例,一次性把Excel中“日期与文本转换”的那些坑填平。


第一部分:非日期数据 ➡️ 标准日期

很多时候,我们在表格里看到的“日期”其实是一串文本,Excel是不认识的。我们需要用公式给它们“整容”。

1. 纯数字文本(如:20261101)

场景: 8位纯数字,想转换成标准日期格式。

方法1:输入函数公式

=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))

  • 解析:LEFT提取前4位作年份,MID提取中间2位作月份,RIGHT提取后2位作日期,最后用DATE函数组装。

方法2:

①选中B2:B10单元格;

②点击菜单栏 数据 → 分列 → 下一步→下一步,最后选择【列数据类型】为“日期”→点击按钮【完成】。

    2. 带圆点的定长文本(如:2026.11.01)

    场景: 格式固定为 YYYY.MM.DD,需要将其规范化。

    方法1:输入函数公式

    =DATE(LEFT(A2,4),MID(A2,6,2),RIGHT(A2,2))

    • 解析: 因为中间有个“点”占了1个字符,所以月份需要从第6位开始提取。

    方法2:数据分列(同例1)

    3. 带圆点的不定长文本(如:2007.7.8)

    场景: 小数点分隔,但月、日位数不固定(有的月份是1位,有的是2位)。

    方法1:输入函数公式1

    =DATE(LEFT(A2,4),MID(A2,FIND(".",A2)+1,FIND(".",A2,6)-FIND(".",A2)),RIGHT(A2,LEN(A2)-FIND(".",A2,6)))

    • 解析: 利用 FIND 函数定位两个圆点的位置,精准截取月、日。

    公式2(极力推荐极简版):=DATEVALUE(SUBSTITUTE(A2,".","-"))

    • 解析: 将圆点替换为横杠(变成 2026-9-1),DATEVALUE 函数会自动将其识别并转换为标准日期。简单高效!

    方法2:数据分列(同例1)

    4. 只有月日(月、日为一位数的,必须补0,即显示两位数),缺少年份(如:11.01 或 1101)

    场景: 数据只有月日,需要统一强制补齐为指定年份(如2026年)。

    方法1:输入函数公式

    =DATE(2026,LEFT(A2,2),RIGHT(A2,2))

    • 解析: 年份手动指定为2026,LEFT 取前2位为月,RIGHT 取后2位为日。(注:无论中间有没有小数点,LEFT 和 RIGHT 都能强行提取正确的前后两位)。

    方法2:数据分列(同例1,注:系统默认为当前年份,如果数据为以前年度,建议使用函数公式的方法)

    5. 特殊三位纯数字,月可按一位或两位数显示,日必须显示两位数(如:619 转 2026/6/19)

    场景: 系统导出时丢失了分隔符和前导零,只有月日数字。

    方法1:输入函数公式

    =DATE(2026,INT(A2/100),MOD(A2,100))

    • 解析: 利用除法取整 INT(619/100)=6(月份),利用取余数 MOD(619,100)=19(日)。

    6. 中文年月日(如:2026年11月1日)

    场景: 纯中文描述,想转成标准日期 2026/11/1。

    方法1:输入函数公式=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"年","/"),"月","/"),"日","")*1

    • 解析: 连续三次替换(年换/,月换/,日换空),得到 2007/8/20 后,乘以1将其强制转化为日期数值。

    • 快捷技巧: 如果不想写公式,选中整列按 Ctrl+H 查找替换,把“年”和“月”替换为“/”,把“日”替换为空,也是极好的。

    方法2:输入函数公式
    =DATEVALUE(A2)
    方法3:
    ①选中A2:A10单元格;

    ②点击菜单栏 数据 → 分列 → 下一步→下一步,最后选择【列数据类型】为“常规”→点击按钮【完成】;

    ③此时已转为日期格式,点击自定义格式,设置为“短日期”即可。

    第二部分:标准日期 ➡️ 文本格式(逆转换)

    标准日期在Excel中其实是数字(比如45000),如果把它变成特定格式的文本呢?

    1. 转换为 YYYYMMDD 格式(如:2010/6/30 ➡️ 20100630)

    方法1:公式拼接

    输入函数公式=YEAR(A2)&RIGHT("0"&MONTH(A2),2)&RIGHT("0"&DAY(A2),2)

    • 解析: 巧用 "0"& 来补齐前导零(如把 6 变成 06,把 2 变成 02),保证格式整齐。

    方法2:TEXT函数(强烈推荐)

    =TEXT(A2,"YYYYMMDD")

    • 解析:TEXT 是格式转换的万能钥匙,直接指定目标格式即可。

    方法3:自定义格式

    按 Ctrl+1 打开单元格格式设置,选择“自定义”,输入yyyymmdd。

    注意:这种方法只是“外观”变了,实际依然是日期。

    2. 转换为中文文本格式(如:21年05月01日)

    场景: 需要将标准日期转成带中文的纯文本格式。

    输入函数公式

    =DATESTRING(A2)

    • 解析: 这是Excel中一个隐藏的“宝藏函数”,专门用于生成类似“21年05月01日”的纯中文文本。(注:此函数在WPS和较高版本的Excel中均可直接使用)。


    第三部分:高阶实战——出库单自动生成日期文本

    场景: 制作出库表,上方表头有年份(B2:2021年)和月份(D2:8月),C列是具体的“日”(如3日、5日、7日),需要自动生成“21年08月03日”这样的文本,方便打印。

    神级公式:

    =DATESTRING(DATEVALUE($B$2&$D$2&C4))

    自动生成标准日期

    在D4单元格中输入函数公式=DATEVALUE($B$2&$D$2&C4)

    拆解解析:

    1. $B$2&$D$2&C4:字符串拼接,得到 "2021年8月3日"。(表头使用了绝对引用$,下拉公式时不会错乱)

    2. DATEVALUE(...):将这个拼接好的中文文本,转换成Excel能识别的标准真实日期。

    3. DATESTRING(...):最后套上 DATESTRING 函数,将其格式化为 21年08月03日 的文本样式。


    【结语】处理日期格式的核心,在于分清它是“真日期”还是“假文本”。

    • 非标文本转日期: 核心是用 DATE、LEFT/MID/RIGHT 截取重组,或者用 SUBSTITUTE 替换后用 DATEVALUE。

    • 日期转文本: 核心是 TEXT 函数或 DATESTRING。

    回首页,搜索你想要的文档

    在首页搜索框输入关键词,快速定位资料

    文库首页搜索指引 立即搜索

    相关学习资料