本节主要分享的函数是IFERROR和NUMBERVALUE

上回我们用MID和FIND函数已经将数值提取出来,但是一些错误的返回值显示“#VALUE!”,此时我们需要检验错误返回值,并将错误值返回指定值。

IFERROR(value, value_if_error)

excel时间转换成秒数(时分秒时间怎么转换成秒)(1)

H3=IFERROR(MID(F3,1,FIND("小",F3)-1),0) I3=IFERROR(MID(F3,FIND("时",F3) 1,(FIND("分",F3)-FIND("时",F3)-1)),0)

如此类推算出J列跟K列,结果如下图:

excel时间转换成秒数(时分秒时间怎么转换成秒)(2)

我们可以看出H、I、J、K、L列部分返回的值靠左,意味着这些返回值只是“文本”,并不是数值。如果需要计算出具体的时间,还需要将文本转化成数值。

很多同学都用过VALUE函数,将文本值转化成数值,今天我要介绍的是万金油函数,NUMBERVALUE能够将空格等少数不规范文本强制转化为0,只返回文本中含有的单独数值,如果含有文本字母,将返回错误值,本次将用该函数以解决K列和L列的含有多有多余数值的文本。

NUMBERVALUE(Text, [Decimal_separator], [Group_separator ])

excel时间转换成秒数(时分秒时间怎么转换成秒)(3)

我们这里用NUMBERVALUE函数将H列到L列以后得到以下结果:

excel时间转换成秒数(时分秒时间怎么转换成秒)(4)

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)

excel时间转换成秒数(时分秒时间怎么转换成秒)(5)

到这一步,已经将所有时间的数值提取出来,即可计算出所有时间转化为秒的数值。

具体公式如下:

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)

公式其实不够精简,但是工欲善其事,必先利其器。

,