EXCEL,我有一列数字,像1d4h35m,意思为1天4小时35分钟,想换成分钟数 求实验得出的正确答案
答案:5 悬赏:20 手机版
解决时间 2021-03-17 14:08
- 提问者网友:几叶到寒
- 2021-03-17 08:22
EXCEL,我有一列数字,像1d4h35m,意思为1天4小时35分钟,想换成分钟数 求实验得出的正确答案
最佳答案
- 五星知识达人网友:七十二街
- 2021-03-17 09:40
假如数据在A1,,那么B1=(FIND("天",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分"))-1)*24*60+MId(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分"),FIND("天",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分"))+1,FIND("小",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分"))-FIND("天",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分"))-1)*60+MId(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分"),FIND("时",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分"))+1,FIND("分",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分"))-FIND("时",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分"))-1)
追问不光有1d4h35m,还有4h30m,还有45m!求一同解决!追答已经出结果了,辛苦了好一段时间,真是要命的,就看你表示了哈
假如数据在A1开始,B列转换成你要得结果B1=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分")
C1=IF(LEN(B1)<=3,MId(B1,1,LEN(B1)-1),IF(LEN(B1)>=8,LEFt(B1,FIND("天",B1)-1)*24*60+(MId(B1,FIND("天",B1)+1,FIND("小",B1)-FIND("天",B1)-1))*60+(MId(B1,FIND("时",B1)+1,FIND("分",B1)-FIND("时",B1)-1)),IF(OR(LEN(B1)>=6,LEN(B1)<=7),MId(B1,1,FIND("小",B1)-1))*60+(MId(B1,FIND("时",B1)+1,FIND("分",B1)-FIND("时",B1)-1))))
追问不光有1d4h35m,还有4h30m,还有45m!求一同解决!追答已经出结果了,辛苦了好一段时间,真是要命的,就看你表示了哈
假如数据在A1开始,B列转换成你要得结果B1=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"d","天"),"h","小时"),"m","分")
C1=IF(LEN(B1)<=3,MId(B1,1,LEN(B1)-1),IF(LEN(B1)>=8,LEFt(B1,FIND("天",B1)-1)*24*60+(MId(B1,FIND("天",B1)+1,FIND("小",B1)-FIND("天",B1)-1))*60+(MId(B1,FIND("时",B1)+1,FIND("分",B1)-FIND("时",B1)-1)),IF(OR(LEN(B1)>=6,LEN(B1)<=7),MId(B1,1,FIND("小",B1)-1))*60+(MId(B1,FIND("时",B1)+1,FIND("分",B1)-FIND("时",B1)-1))))
全部回答
- 1楼网友:等灯
- 2021-03-17 12:44
首先复制这一列出来设置单元格格式为文本,然后ctrl+f替换d成为*1440+,替换h成为*60+,替换m为空白。
现在数值成为了1*1440+4*60+35
假设该数值位于C1
再新建一列,在D1输入=CONCATENATE("=",C1),然后D1处显示为=1*1440+4*60+35
接下来复制D列,选择性粘贴数值在E1,最后回车搞定。
结果也要带m的话同样用=CONCATENATE(E1,“m”),填到F1,填充柄下拉就行了。追问按照你的方法,最后需要在每个表格内双击进去,再然后才成数。有没有直接成型的,不用我一个一个点700多下
现在数值成为了1*1440+4*60+35
假设该数值位于C1
再新建一列,在D1输入=CONCATENATE("=",C1),然后D1处显示为=1*1440+4*60+35
接下来复制D列,选择性粘贴数值在E1,最后回车搞定。
结果也要带m的话同样用=CONCATENATE(E1,“m”),填到F1,填充柄下拉就行了。追问按照你的方法,最后需要在每个表格内双击进去,再然后才成数。有没有直接成型的,不用我一个一个点700多下
- 2楼网友:行路难
- 2021-03-17 12:13
见样表
省略100字。。。。。。。
求一并解决!非常感谢!结果也要带着m字样追答
见样表
再次省略1000字。。。。。。。。。。。
- 3楼网友:英雄的欲望
- 2021-03-17 10:41
假设要转换的数值在a1
=MId(A1,1,FIND("d",A1,1)-1)*24*60+MId(A1,FIND("d",A1,1)+1,(FIND("h",A1,1)-FIND("d",A1,1)-1))*60+MId(A1,FIND("h",A1,1)+1,(FIND("m",A1,1)-FIND("h",A1,1)-1))追问非常感谢,但是我不光是1d2h3m,还有2h34m,还有53m的!能不能同时搞定?结果要带着m字样~
=MId(A1,1,FIND("d",A1,1)-1)*24*60+MId(A1,FIND("d",A1,1)+1,(FIND("h",A1,1)-FIND("d",A1,1)-1))*60+MId(A1,FIND("h",A1,1)+1,(FIND("m",A1,1)-FIND("h",A1,1)-1))追问非常感谢,但是我不光是1d2h3m,还有2h34m,还有53m的!能不能同时搞定?结果要带着m字样~
- 4楼网友:独行浪子会拥风
- 2021-03-17 09:53
Function 折算分钟(单元格 As Range)
txt = 单元格.Text
天 = InStr(txt, "d")
时 = InStr(txt, "h")
分 = InStr(txt, "m")
If 天 = 0 Then
天分 = 0
Else: 天分 = Left(txt, 天 - 1) * 60 * 24
End If
If 时 = 0 Then
时分 = 0
Else: 时分 = Mid(txt, 天 + 1, 时 - 天 - 1) * 60
End If
分分 = Mid(txt, 时 + 1, 分 - 时 - 1)
折算分钟 = 天分 + 时分 + 分分
折算分钟 = 折算分钟 & "m"
End Function
做了个自定义函数,测试通过。如果只要分钟数,把最后 折算分钟 = 折算分钟 & "m" 删除
txt = 单元格.Text
天 = InStr(txt, "d")
时 = InStr(txt, "h")
分 = InStr(txt, "m")
If 天 = 0 Then
天分 = 0
Else: 天分 = Left(txt, 天 - 1) * 60 * 24
End If
If 时 = 0 Then
时分 = 0
Else: 时分 = Mid(txt, 天 + 1, 时 - 天 - 1) * 60
End If
分分 = Mid(txt, 时 + 1, 分 - 时 - 1)
折算分钟 = 天分 + 时分 + 分分
折算分钟 = 折算分钟 & "m"
End Function
做了个自定义函数,测试通过。如果只要分钟数,把最后 折算分钟 = 折算分钟 & "m" 删除
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯