我有一个完整的日期格式mmddyyyy,我想知道我是否可以解析或转换为mm / dd / yyyy。我尝试选择整行,然后点击格式 - >号码 - >约会,但是当我这样做时,12082016之类的日期变为6/7/34979,这当然毫无意义。关于如何解决这个问题的任何想法?
编辑:
Examples:
7072016 12/11/2021
1202017 12/2/2017
10042016 10/4/2016
9212016 8/12/2023
我将B更改为F,因为这是日期列的位置。奇怪的是,有些值是正确的
=date(right(B2, 4), left(B2, 2), mid(B2, 3, 2))
答案 0 :(得分:5)
您必须考虑7位和8位数字。显然,您在导入数据时丢失了一些前导零。
=date(right(right("0"&A2, 8), 4), left(right("0"&A2, 8), 2), mid(right("0"&A2, 8), 3, 2))
' or,
=--replace(replace(right("0"&A2, 8), 5, 0, "/"), 3, 0, "/")
将单元格格式化为mm/dd/yyy
或您想要的格式;它们现在是真实的日期。
答案 1 :(得分:3)
如果您使用的是Google表格,则需要将其中的数字格式化为00000000
,以确保有完整的8位数,包括少于10个月的前导零。这样,使用MMDDYYYY数字突出显示列,然后从 Format 菜单中选择 Number ,然后选择自定义数字格式:
然后,在出现的对话框中,输入00000000
(八个零)并点击应用:
您的数据将被重新格式化,您的日期应该是正确的:
希望这有帮助!
答案 2 :(得分:0)
日期&时间值基本上是一系列数字,这就是为什么它总是将其转换为日期或时间,为其格式化。 Bttr使用自定义格式,,或根据需要更改默认值。 如果你想将任何数字转换成日期, 首先写一年的第一个日期将其转换为数字,得到趋势,写入nXt值,&转换为适当的格式。
答案 3 :(得分:0)
使用正则表达式尝试此公式:
=TEXT(REGEXREPLACE(TEXT(A1,"00000000"),"(\d{2})+(\d{2})+(\d{4})","$1/$2/$3"),"m/d/yyyy")
将m/d/yyyy
更改为您需要的任何日期格式。