单元格内容“2009/7/24 下午 02:33:49”转换成“2009/7/24 02:33:49pm"的时间格式

用公式得出数字型日期

=--LEFT(A1,FIND(" ",A1)-1)--RIGHT(A1,8)+IF(ISERROR(FIND("下午",A1)),0,0.5)

再设置成自定义格式为:

[$-409]yyyy/mm/dd hh:mm:ss AM/PM;@

 

--LEFT(A1,FIND(" ",A1)-1)--RIGHT(A1,8)+IF(FIND("下午",A1),0.5,0),"[$-409]yyyy/mm/dd hh:mm:ss AM/PM;@"

 

若不想设置成自定义格式可以这样:

=TEXT(--LEFT(A1,FIND(" ",A1)-1)--RIGHT(A1,8)+IF(FIND("下午",A1),0.5,0),"[$-409]yyyy/mm/dd hh:mm:ss AM/PM;@")

 

 

公式解释如下:

 

FIND(" ",A1)-1 在A1中查找一个英文半角空格,找出其半角位置为10,则其2009/7/24的字符串长度就为10-1=9,为什么要用这步呢,而不是直接用left(a1,9),是因为你的日期有可能有2009/12/10这样的,长度就不只是9了,所以要确定下具体长度。

 

--LEFT(A1,FIND(" ",A1)-1) 将 2009/7/24 提取出来后再用 -- 两个减号把字符型数字转换成数字值,其结果为40018

 

IF(ISERROR(FIND("下午",A1)),0,0.5)  在A1中找“下午“字符串,如果找到就加0.5,没有就加0。因为一天24小时在excel中是用数字1存储的,12小时就是0.5,所以,如果是下午就加0.5,上午就不加。

 

--RIGHT(A1,8) 将 02:33:49 提取出来并转换成数字型,其值为 0.10681712962963 最后公式得出其结果为 40018.6068171296 ,把单元格格式设置成:[$-409]yyyy/mm/dd hh:mm:ss AM/PM;@ 后,就是你要的时间格式了,其值还可以参与其它运算。

 

如果你要文本型的日期就用text()函数转换一下,text(转换的数据,转换的格式),格式要用""括起来。具体用法参考函数帮助吧。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值