我在B细胞中有以下日期。实际上这不是日期格式。
2015-11-01-01.13.34.737000
必须更改为以下格式:
11/01/2015 01:13:34 AM
我对excel公式不太熟悉。任何人都可以帮助我带来预期的输出吗?实际上,我尝试使用格式单元格更改日期格式,但没有运气,也尝试了一些excel公式。
- 提前谢谢
答案 0 :(得分:1)
如果您的原始值在单元格A1中,那么正如所写的那样:
= MID(A1, 6, 2 ) & "/" & MID(A1, 9, 2) & "/" & LEFT(A1, 4) & " " & SUBSTITUTE(MID(A1, 12, 8), ".", ":") & " AM"
如果您需要将公式设置为12小时,并附加AM
或PM
,那么显然您需要提取输入值的2位数并检查它是否为>= 12
,附加正确的字符串,并在输出之前更改小时。当你已经理解了上面所做的事情时,你可能会开始看到如何做到这一点。但是,因为它有点复杂,所以:
= MID(A1, 6, 2 ) & "/" & MID(A1, 9, 2) & "/" & LEFT(A1, 4) & " " & RIGHT("0" & MOD(MID(A1, 12, 2) - 1, 12) + 1, 2) & ":" & SUBSTITUTE(MID(A1, 15, 5), ".", ":") & IF(NUMBERVALUE( MID(A1, 12, 2) ) < 12, " AM", " PM")
需要MOD
在12小时后回绕,加/减1
杂技是因为我们写小时从1到12,而不是0到11. right("0" & foo, 2)
bit简单地确保1位数字被0填充到2位数。这个似乎可以工作,但我没有完全彻底地测试它。
答案 1 :(得分:0)
=--SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"-"," ",3),"-","/"),".",":"),":",".",3)
以上将原始字符串转换为具有以下格式的字符串:
2015/11/01 01:13:34.737000
开头的双一元将该字符串转换为真实的Excel日期/时间,可以根据需要进行格式化。