指纹机导出的excel表,时间显示为yyyy-mm-dd 上/下午 hh:mm:ss,怎样批量转换成yyyy-mm-dd HH:MM:SS。
指纹机导出的excel表,其考勤时间格式如:2019-4-1下午05:00:28,怎样把它批量转换成2019-4-117:00:28,几万个考勤信息,怎么转换啊??急死了...
指纹机导出的excel表,其考勤时间格式如:2019-4-1 下午 05:00:28,怎样把它批量转换成2019-4-1 17:00:28,几万个考勤信息,怎么转换啊??急死了。。(表1的时间格式转成表2的时间格式),谢谢各位大神!!!
展开
8个回答
展开全部
Function TimeConversion(mValue As Variant)
'时间转换
Dim TmpArr
Dim mDay$, mTime$, mInterval$
TmpArr = Split(mValue, " ")
If UBound(TmpArr) = 2 Then
mDay = TmpArr(0)
mInterval = TmpArr(1)
mTime = TmpArr(2)
If mInterval = "下午" Then
mTime = TimeValue(mTime) + TimeValue("12:00:00")
End If
TimeConversion = mDay & " " & mTime
End If
End Function
追问
看不懂,下面的是什么?
展开全部
为了公式简便,建议先筛选包含有“下午”的单元格,然后使用公式。(注意,原始数据的单元格的格式必须是常规,不能带任何格式,不能用日期不能用时间。此外,公式里的冒号必须从原始数据里复制过来,保持前后一致,不然find不到正确的冒号公式会失效。)
一、计算过程如下:
在B1里定位首个冒号的位置:=FIND(":",A1)
在C1里截取小时数再加12转为24小时制:=MID(A1,B1-2,2)+12
最后在D1里用&连接各个内容:=LEFT(A1,(B1-7))&" "&C1&RIGHT(A1,LEN(A1)-B1+1)
二、如果上面的公式可以计算出正确的数值,也可以直接在B1里输入公式:
=LEFT(A1,((FIND(":",A1))-7))&" "&(MID(A1,(FIND(":",A1))-2,2)+12)&RIGHT(A1,LEN(A1)-(FIND(":",A1))+1)
最后取消筛选,把上午替换为空值。
有问题可以再喊我。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询