所以我打开excel,在G2中输入以下内容:UTC Feb / 12/2016 01:09:28 PM
然后在其他任何单元格中尝试以下公式:
=IFERROR(DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LEFT(G2,11),"Dec",12),"Nov",11),"Oct",10),"Sep",9),"Aug",8),"Jul",7),"Jun",6),"May",5),"Apr",4),"Mar",3),"Feb",2),"Jan",1))+TIMEVALUE(MID(G2,13,11)),"Error")
我正试图让它显示为2016年2月12日13:09
但是它给了我我的错误。 iv尝试了一切,只是没有用??
非常感谢你们
答案 0 :(得分:-1)
使用以下公式:
=DATE(MID(A1,8,4),MONTH(1&LEFT(A1,3)),MID(A1,5,2)) + IF(MID(A1, 22,2) = "PM", TIME(MID(A1, 13, 2), MID(A1, 16, 2), MID(A1, 19, 2)) + TIME(12, 0, 0), TIME(MID(A1, 13, 2), MID(A1, 16, 2), MID(A1, 19, 2)))
虽然没有必要,但最好将时间和日期分开 用于数据操作。
我建议您使用隐藏的列,这样可以使您的约会变得井井有条,并且整齐地分开,但此外,这也将帮助我解释答案,而不仅仅是粘贴一个庞大的公式:
假设您的文本信息始终具有相同的格式
"Mon"/dd/yyyy hh:mm:ss AM/PM UTC
在单元格B1中,我们将粘贴日期:
=DATE(MID(A1,8,4),MONTH(1&LEFT(A1,3)),MID(A1,5,2))
很容易解释,我们将提取日期格式的各个部分并将其应用于它们。唯一的技巧是使用MONTH()
函数将月份字符串转换为实际月份格式。
现在,要花些时间了:
让我们尝试在C1中对其进行解析:
首先,我们需要实现一个IF
函数,它将AM / PM格式转换为24h格式,然后我们将使用字符串函数,就像上面的日期一样,将数据提取到我们的{{ 1}}功能。
TIME()
最后但并非最不重要的一点,我们将在D列中粘贴结果。 首先,请确保您的格式已正确设置为预期的输出:
,然后我们将两个数据字段简单地添加在一起:
=IF(MID(A1, 22,2) = "PM", TIME(MID(A1, 13, 2), MID(A1, 16, 2), MID(A1, 19, 2)) + TIME(12, 0, 0), TIME(MID(A1, 13, 2), MID(A1, 16, 2), MID(A1, 19, 2)))
产生预期的结果: