Google Sheets特定数据集日期提取求助:常规函数无效
提取不规则时间戳日期的可行思路
你的问题出在直接用日期/时间函数处理文本格式的时间戳——MOD、Time、Minute这类函数只对已转换为Excel日期格式的数据生效,而你手里的是纯文本字符串,得先提取有效日期片段再转换。以下针对两种样本格式分别给出解决方案:
格式1:Mon 2021 Jul 26 2021 8:26 PM
这个格式里重复了年份,有效日期片段是2021 Jul 26,可以用文本提取+日期转换组合公式:
- 提取并转换为日期格式:
解释:=DATEVALUE(MID(A1,FIND(" ",A1)+1,11))FIND(" ",A1)定位第一个空格,MID从空格后开始提取11个字符(刚好是2021 Jul 26),DATEVALUE将文本转为Excel可识别的日期序列值。 - 如需自定义日期显示格式(如
yyyy-mm-dd),套上TEXT函数:=TEXT(DATEVALUE(MID(A1,FIND(" ",A1)+1,11)),"yyyy-mm-dd")
格式2:Wed May 19 2021 22:54:00 GMT+0800 (Hong Kong Standard Time)
有效日期片段是May 19 2021,同样用文本提取+转换:
- 提取并转换为日期格式:
解释:跳过开头的星期和空格,提取=DATEVALUE(MID(A2,FIND(" ",A2)+1,11))May 19 2021,DATEVALUE可直接识别英文月份+日+年的格式。 - 自定义格式:
=TEXT(DATEVALUE(MID(A2,FIND(" ",A2)+1,11)),"yyyy-mm-dd")
通用方案(Excel 365及以上版本)
用TEXTSPLIT按空格拆分文本,直接取对应字段组合日期,兼容性更强:
- 格式1处理:
=DATE(TEXTSPLIT(A1," ")[2],TEXTSPLIT(A1," ")[3],TEXTSPLIT(A1," ")[4]) - 格式2处理:
解释:=DATE(TEXTSPLIT(A2," ")[4],TEXTSPLIT(A2," ")[2],TEXTSPLIT(A2," ")[3])TEXTSPLIT把文本拆分为数组,按顺序取年、月、日字段传入DATE函数,自动转换为日期格式。
内容的提问来源于stack exchange,提问作者Sao_
相关产品推荐
相关产品推荐

