我的excel表中有近2,00,000条数据记录,我将Date列作为这样的字符串(dd.mm.yy)我必须将其转换为(YYYY-MM-DD)的dateformat。 / p>
我试过了 -
对于示例日期字符串1.11.11,我尝试将.11替换为.2011,但它也会将月份更改为1.2011.2011,并且我的工作表在2010年至2016年期间有大量记录。
示例 - 我的单元格有1.11.11,我想将其转换为2011-01-01(YYYY-MM-DD)
请帮忙! 谢谢。
答案 0 :(得分:4)
使用此选项将其更改为真实日期:
=DATE(2000+SUBSTITUTE(RIGHT(A1,2),".",""),SUBSTITUTE(MID(A1,FIND(".",A1)+1,2),".",""),SUBSTITUTE(LEFT(A1,2),".",""))
然后将输出格式化为您想要的:YYYY-MM-DD
要做到这一点,需要vba。
选择日期单元格并运行此代码。
Sub datechange()
Dim rng As Range
Dim str() As String
For Each rng In Selection
str = Split(rng.Value, ".")
rng.Value = DateSerial(2000 + str(2), str(1), str(0))
Next rng
Selection.NumberFormat = "yyyy-mm-dd"
End Sub
答案 1 :(得分:0)
假设值从A1开始并且它们都是真正的DD.MM.YY(带有零(04,06等)......
="20"&RIGHT(A1,2)&"-"&MID(A1,4,1)&"-"&LEFT(A1,2)
答案 2 :(得分:0)
尝试以下公式:
=TEXT(SUBSTITUTE(A1,".","/"),"YYYY-MM-DD")
答案 3 :(得分:-1)
试试这个:
select convert(varchar,convert(datetime,'26-July-2018'),105)