Excel技术咨询:如何从带时间的字符串中提取月/日
提取日期时间字符串中的「月/日」格式内容
问题原因
你之前用RIGHT()函数得到错误结果,是因为如果单元格是Excel默认的日期时间格式(而非纯文本),Excel会把日期时间存储为数字序列号(比如2023/7/13 0:31:19对应的序列号是45124.0078),RIGHT()这类文本函数会直接读取这个序列号的文本形式,而非你看到的日期时间显示内容,所以得到的是数字串而非目标日期片段。
分场景解决方案
场景1:单元格是纯文本格式的日期时间
如果A1中的内容是纯文本(比如手动输入或粘贴后保留文本格式),可以用以下方法提取「月/日」:
- 方法1(兼容所有Excel版本):
原理:先用=MID(A1,FIND("/",A1)+1,FIND("/",A1,FIND("/",A1)+1)-FIND("/",A1)-1)&"/"&MID(A1,FIND("/",A1,FIND("/",A1)+1)+1,FIND(" ",A1)-FIND("/",A1,FIND("/",A1)+1)-1)FIND()定位两个/和空格的位置,再用MID()分别提取月、日部分,最后用&拼接成「月/日」格式。 - 方法2(仅Excel 365/2021及以上版本):
原理:用=TEXTJOIN("/",TRUE,TEXTSPLIT(A1,{"/"," "})[2],TEXTSPLIT(A1,{"/"," "})[3])TEXTSPLIT()按/和空格拆分字符串,取第2、3个元素(对应月、日),再用TEXTJOIN()拼接成目标格式。
场景2:单元格是日期时间格式(非文本)
这种情况更简单,直接用TEXT()函数转换格式即可:
=TEXT(A1,"m/d")
- 说明:
"m/d"是格式代码,m代表月份(1-12),d代表日期(1-31);如果需要两位数的月/日,比如「07/13」,可以用格式代码"mm/dd"。
验证单元格格式的方法
输入公式=TYPE(A1):
- 返回
2:表示A1是纯文本格式 - 返回
1:表示A1是日期时间格式
内容的提问来源于stack exchange,提问作者CIF Arabian
相关产品推荐
相关产品推荐

