在我在Excel中打开的csv文件日期格式化为“2014-08-28 09:03:19.789”。
如何在Excel中将上述内容转换为yyyy-mm-dd(2014-08-28)?
我尝试将列设置为yyyy-mm-dd但不会更改。
答案 0 :(得分:1)
答案 1 :(得分:1)
使用工作表单元格上的Text to Columns
向导,或使用数据功能区Importing
文件,►获取外部数据标签►来自文字。
对于该列,选择Space
作为分隔符,并在步骤3中选择YMD作为分隔符。完成后,根据需要自定义日期列和时间列的格式。
如果您需要在同一单元格中使用整个日期/时间戳,请在第三列中将它们一起添加,并根据需要进行格式化。
答案 2 :(得分:0)
无论您的系统设置如何,此解决方案都应该有效,并且基于您的日期时间值在导入到Excel中后确实是一个字符串。此解决方案将假设您的日期在A1
首先剥离年份:
=left(A1,4)
然后删除月份:
=mid(A1,6,2)
然后剥离一天:
=trim(mid(A1,9,2))
请注意,如果您知道从单位数天开始有一个前导零,那么您可以放弃修剪功能。
现在您可以使用日期函数将日期转换为Excel格式日期,并在上面的信息中替换。
=Date(left(A1,4),mid(A1,6,2),trim(mid(A1,9,2)))
如果您的单元格格式不正确,您可能会得到一个像420303这样的整数或类似的东西它自1900年1月0日以来在Windows操作系统上的天数,就像1904年以来的Mac一样。
所以当你重复这个过程的时候,我建议你首先尝试选项A),如果它不起作用,你可以尝试选项B)
If you time also show trailing 0 ie 9.000 for seconds then you might get away with:
=Timevalue(right(A1,12))
现在,如果这对您不起作用,我们可以将12调整为:
LEN(A1)-Find(" ",A1)
现在,如果选项A和使用时间值对您不起作用,那么我们需要进入并撕掉小时分钟和秒钟,并且基本上执行与上述日期相同的过程。
要使用时间:
=MID(A1,FIND(" ",A1)+1,2)
要使用分钟:
=MID(A1,FIND(":",A1)+1,2)
要使用秒数
=RIGHT(A1,LEN(A1)-FIND(".",A1)+3)
这假设您的单位数秒0-9的前导0。
现在您可以将所有这些内容放入TIME公式中以获得以下内容
=TIME(MID(A1,FIND(" ",A1)+1,2),MID(A1,FIND(":",A1)+1,2),RIGHT(A1,LEN(A1)-FIND(".",A1)+3))
现在,由于整数和时间的天数被保存为十进制值,我们可以将日期和时间公式与+结合起来,现在你应该准备好将整个事情应用于它。
=Date(left(A1,4),mid(A1,6,2),trim(mid(A1,9,2)))+TIME(MID(A1,FIND(" ",A1)+1,2),MID(A1,FIND(":",A1)+1,2),RIGHT(A1,LEN(A1)-FIND(".",A1)+3))