首页 文章

在Excel中将值转换为特定日期格式

提问于
浏览
0

我在B细胞中有以下日期 . 实际上这不是日期格式 .

2015-11-01-01.13.34.737000

必须更改为以下格式:

11/01/2015 01:13:34 AM

我对excel公式不太熟悉 . 任何人都可以帮助我带来预期的输出吗?实际上,我尝试使用格式单元格更改日期格式,但没有运气,并尝试了一些excel公式 .

-提前致谢

2 回答

  • 1

    如果您的原始值在单元格A1中,那么正如所写,这适用:

    = MID(A1, 6, 2 ) & "/" & MID(A1, 9, 2) & "/" & LEFT(A1, 4) & " " & SUBSTITUTE(MID(A1, 12, 8), ".", ":") & " AM"

    如果您需要公式为12小时时间并附加 AMPM ,那么显然您需要提取输入值的2位数并检查它是否 >= 12 ,附加正确的字符串,并在输出之前更改小时 . 当你've understood what the above is doing, you may begin to see how you could do that. However, since it'有点复杂时,这里:

    = 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) 位只是确保1位数字被0填充到2位数 . 这似乎有效,但我没有完全彻底地测试它 .

  • 0
    =--SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"-"," ",3),"-","/"),".",":"),":",".",3)
    

    以上将您的原始字符串转换为具有以下格式的字符串:

    2015/11/01 01:13:34.737000
    

    然后在开头的双一元将该字符串转换为真实的Excel日期/时间,可以根据需要进行格式化 .

相关问题