日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

excel提取文本格式时分秒中数字的方法并计算成秒的公式

發布時間:2023/12/15 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 excel提取文本格式时分秒中数字的方法并计算成秒的公式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

類似于這樣的時間格式我們是沒辦法參數計算的,可用下面的公式計算

以下公式中只需要將E2修改為數據所在單元格即可出結果(計算結果為秒,其它時間格式請自行轉換)

=NUMBERVALUE(NUMBERVALUE(IFERROR(MID(E2,1,FIND("小",E2)-1),"0"))*3600+(IFERROR(NUMBERVALUE(IFERROR(MID(E2,1,FIND("分",E2)-1),"0")),"0")+NUMBERVALUE(IFERROR(MID(E2,FIND("時",E2)+1,(FIND("分",E2)-FIND("時",E2)-1)),"0")))*60+(NUMBERVALUE(IFERROR(NUMBERVALUE(IFERROR(MID(E2,1,FIND("秒",E2)-1),"0")),"0"))+NUMBERVALUE(IFERROR(MID(E2,FIND("分",E2)+1,(FIND("秒",E2)-FIND("分",E2)-1)),"0"))+NUMBERVALUE(IFERROR(MID(E2,FIND("鐘",E2)+1,(FIND("秒",E2)-FIND("鐘",E2)-1)),"0")))

  

=NUMBERVALUE(NUMBERVALUE(IFERROR(MID(E2,1,FIND("小",E2)-1),"0"))*3600+(IFERROR(NUMBERVALUE(IFERROR(MID(E2,1,FIND("分",E2)-1),"0")),"0")+NUMBERVALUE(IFERROR(MID(E2,FIND("時",E2)+1,(FIND("分",E2)-FIND("時",E2)-1)),"0")))*60+(NUMBERVALUE(IFERROR(NUMBERVALUE(IFERROR(MID(E2,1,FIND("秒",E2)-1),"0")),"0"))+NUMBERVALUE(IFERROR(MID(E2,FIND("分",E2)+1,(FIND("秒",E2)-FIND("分",E2)-1)),"0"))+NUMBERVALUE(IFERROR(MID(E2,FIND("鐘",E2)+1,(FIND("秒",E2)-FIND("鐘",E2)-1)),"0")))

原理: (下文中有,原文中也很詳細,有需要理解的請跳轉原文查看)

小時值 提取小前面的字符
=IFERROR(MID(E2,1,FIND("小",E2)-1),"0")
分鐘值 提取分前面的字符
=IFERROR(MID(E2,1,FIND("分",E2)-1),"0")
秒鐘值 提取秒前面的字符
=IFERROR(MID(E2,1,FIND("秒",E2)-1),"0")

分鐘值2 提取分與時之間的分鐘值
=IFERROR(MID(E2,FIND("時",E2)+1,(FIND("分",E2)-FIND("時",E2)-1)),"0")
秒值2 提取分和秒之間的秒數值
=IFERROR(MID(E2,FIND("分",E2)+1,(FIND("秒",E2)-FIND("分",E2)-1)),"0")
秒值3 提取小時和秒之間的秒數值
=IFERROR(MID(E2,FIND("鐘",E2)+1,(FIND("秒",E2)-FIND("鐘",E2)-1)),"0")

將小時值返回的結果中提取數字(去掉空格與非數字格式) 參與最后計算
=NUMBERVALUE(IFERROR(MID(E2,1,FIND("小",E2)-1),"0"))
將分鐘值返回的結果中提取數字(去掉空格與非數字格式) 注:(返回錯誤值,下面再次計算)
=NUMBERVALUE(IFERROR(MID(E2,1,FIND("分",E2)-1),"0"))
將秒鐘值返回的結果中提取數字(去掉空格與非數字格式) 注:(返回錯誤值,下面再次計算)
=NUMBERVALUE(IFERROR(MID(E2,1,FIND("秒",E2)-1),"0"))
將分鐘值2返回的結果中提取數字(去掉空格與非數字格式) 參與最后計算
=NUMBERVALUE(IFERROR(MID(E2,FIND("時",E2)+1,(FIND("分",E2)-FIND("時",E2)-1)),"0"))
將秒值2返回的結果中提取數字(去掉空格與非數字格式) 參與最后計算
=NUMBERVALUE(IFERROR(MID(E2,FIND("分",E2)+1,(FIND("秒",E2)-FIND("分",E2)-1)),"0"))
將秒值3返回的結果中提取數字(去掉空格與非數字格式) 參與最后計算
=NUMBERVALUE(IFERROR(MID(E2,FIND("鐘",E2)+1,(FIND("秒",E2)-FIND("鐘",E2)-1)),"0"))

將分鐘值返回的錯誤值再次返回0 注:(返回格式中帶空格,還不能直接計算,下面再次修改為數字才能正式計算結果)
=IFERROR(NUMBERVALUE(IFERROR(MID(E2,1,FIND("分",E2)-1),"0")),"0")
將秒鐘值返回的錯誤值再次返回0 注:(返回格式中帶空格,還不能直接計算,下面再次修改為數字才能正式計算結果)
=IFERROR(NUMBERVALUE(IFERROR(MID(E2,1,FIND("秒",E2)-1),"0")),"0")

再次將分鐘值返回的結果中提取數字(去掉空格與非數字格式) 參與最后計算
=NUMBERVALUE(IFERROR(NUMBERVALUE(IFERROR(MID(E2,1,FIND("分",E2)-1),"0")),"0"))
再次將秒鐘值返回的結果中提取數字(去掉空格與非數字格式) 參與最后計算
=NUMBERVALUE(IFERROR(NUMBERVALUE(IFERROR(MID(E2,1,FIND("秒",E2)-1),"0")),"0"))

方法來源于:CSDN博主「陵小宇」的原創文章

display函數怎么使用_【Excel函數使用】時分秒時間怎么轉換成秒?(一)

https://blog.csdn.net/weixin_39960920/article/details/110523783

函數怎么使用 vue_【Excel函數使用】時分秒時間怎么轉換成秒?(二)

https://blog.csdn.net/weixin_35318150/article/details/112707720

原理如下:

步驟一:提取小時之前的值,也就是提取文本“小”所在位置之前的值。

“小”所在位置之前的字符值,公式為=FIND("小",F3)-1;

從第一個字符起,提取“小”之前的文本串,公式為:

H3=MID(F3,1,FIND("小",F3)-1)

步驟二:提取“時”和“分”之間的分鐘值。

首先返回“時”和“分”之間的字符長度,公式為:

I3=FIND("分",F3)-FIND("時",F3)

接著繼續用MID函數來提取文本,和小時值不同的是,這次開始的值是從“時”后面的字符開始的,也就是公式

FIND("時",F3)+1

提取分鐘的值公式:

=MID(F3,FIND("時",F3)+1,(FIND("分",F3)-FIND("時",F3)-1))

步驟三:提取“鐘”和“秒”之間的秒數值,原理跟提取分鐘值一樣。

J3=MID(F3,FIND("鐘",F3)+1,(FIND("秒",F3)-FIND("鐘",F3)-1))

根據以上的公式,我們分別提取了小時、分鐘、和秒的值,那接下來是不是可以用公式計算出秒數值呢?答案是不可以的,因為MID函數返回的是文本串,不能直接用于計算的,上圖中顯示的提取值靠左,而不是數值默認的靠右。

現在還出現了另外一個問題,對于“31分鐘23秒”、“16秒”也就是沒有包含的小時的值,我們無法提取分鐘值,而可以提取秒的值,因為上面提取分鐘值得公式是需要找到“時”的字符才有效,因此我們這里的返回值是錯誤的。

為了能夠有效地提取這兩種格式文本的值,我們還需要添加兩個公式來提取。

分鐘值:

K3=MID(F3,1,FIND("分",F3)-1)

秒鐘值:

L3=MID(F3,1,FIND("秒",F3)-1)

我們用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)

原公式中有問題,部分結果是不準確的
————————————————
版權聲明:本文為CSDN博主「陵小宇」的原創文章
原文鏈接:https://blog.csdn.net/weixin_35318150/article/details/112707720

總結

以上是生活随笔為你收集整理的excel提取文本格式时分秒中数字的方法并计算成秒的公式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。