excel时分秒转化为秒(excel把分钟转化为秒)
本节主要分享的函数是IFERROR和NUMBERVALUE
上回我们用MID和FIND函数已经将数值提取出来,但是一些错误的返回值显示“#VALUE!”,此时我们需要检验错误返回值,并将错误值返回指定值。
IFERROR(value, value_if_error)
H3=IFERROR(MID(F3,1,FIND("小",F3)-1),0) I3=IFERROR(MID(F3,FIND("时",F3) 1,(FIND("分",F3)-FIND("时",F3)-1)),0)
如此类推算出J列跟K列,结果如下图:
我们可以看出H、I、J、K、L列部分返回的值靠左,意味着这些返回值只是“文本”,并不是数值。如果需要计算出具体的时间,还需要将文本转化成数值。
很多同学都用过VALUE函数,将文本值转化成数值,今天我要介绍的是万金油函数,NUMBERVALUE能够将空格等少数不规范文本强制转化为0,只返回文本中含有的单独数值,如果含有文本字母,将返回错误值,本次将用该函数以解决K列和L列的含有多有多余数值的文本。
NUMBERVALUE(Text, [Decimal_separator], [Group_separator ])
我们这里用NUMBERVALUE函数将H列到L列以后得到以下结果:
K3=NUMBERVALUE(IFERROR(MID(F3,1,FIND("分",F3)-1),0)) L3=NUMBERVALUE(IFERROR(MID(F3,1,FIND("秒",F3)-1),0))
再次用IFERROR函数以后即可将错误值返回为0.
K3=IFERROR(NUMBERVALUE(IFERROR(MID(F3,1,FIND("分",F3)-1),0)),0) L3=IFERROR(NUMBERVALUE(IFERROR(MID(F3,1,FIND("秒",F3)-1),0)),0)
到这一步,已经将所有时间的数值提取出来,即可计算出所有时间转化为秒的数值。
具体公式如下:
NUMBERVALUE(IFERROR(MID(F3,1,FIND("小",F3)-1),0))*3600 NUMBERVALUE(IFERROR(MID(F3,FIND("时",F3) 1,(FIND("分",F3)-FIND("时",F3)-1)),0))*60 NUMBERVALUE(IFERROR(MID(F3,FIND("钟",F3) 1,(FIND("秒",F3)-FIND("钟",F3)-1)),0)) IFERROR((NUMBERVALUE(IFERROR(MID(F3,1,FIND("分",F3)-1),0))),0)*60 IFERROR((NUMBERVALUE(IFERROR(MID(F3,1,FIND("秒",F3)-1),0))),0)
公式其实不够精简,但是工欲善其事,必先利其器。
赞 (0)