如何將“2小時47分49秒”轉換為多少秒?

“2小時47分49秒”是字符串,要將其轉換為多少秒,最常見的思路時用字符串函數分別提取出2、47,然後分別乘以3600、60,然後再加上字符串中的秒數,這是很常規的一種解法,那有沒有另外的方法呢?

在介紹其他的解法之前,我們先來看一下使用Excel時遇到的一種情況:

我們在單元格中輸入文本字符串“2017年3月3日”,Excel會自做聰明的變成“2017-3-3”,並顯示為““2017年3月3日”,如果輸入2017年3月“,它會自做聰明的變為“2017-3-1”。

同理,如果,我們輸入”5時37分7秒“字符串,它會自動變為”5:37:07",並顯示為”5時37分7秒“,如果輸入”7時28分“,它會自動變為”7:28:00",並顯示為”7時28分“。

看到這裡,我們應該明白瞭,如果我們輸入日期或時間字符串,它就自動將其轉換為標準的日期或時間,並按輸入的格式顯示。也就是說,隻要是標準格式的日期或時間,Excel是可以將其轉為標準的日期或時間的,那在公式中,能不能轉換呢?

我們在A2單元格輸入2時47分49秒,回車後,其自動變為“2:47:49”,用ISTEXT函數測試,計算結果為FALSE,說明它不是文本。

我們在A3輸入公式="2時47分49秒",回車後,它靠左顯示,文本一般是靠左顯示的,再用ISTEXT函數測試,計算結果為TRUE,說明它是文本。

然後,我們將A3的公式修改為=–"2時47分49秒",也就是在文本字符串前加二個負號(負負得正),這個用法,我們一般是用於將文本數字轉換為真正的數值。回車後,A3的計算結果顯示為0.116539352。我們知道,在Excel中日期和時間本質上就是數字,系統最早的日期是1900年1月1日,它是1,今天是2017年3月3日,實際上就是42796,也就是說從1900年1月1日到今天共42796天。一天24小時,一天是1,那麼凌晨1點就是0.041667(1/24),中午是12時,剛好半天,也就是0.5。

我們將A3單元格設為A2單元格一樣的時間格式,就可看到,它顯示的和A2單元格一模一樣。

因而我們可以得出結論,在公式中,字符串的日期和時間,也是可以轉換為標準的日期和時間的。

所以,“2小時47分49秒”這種非標準的時間,我們隻要將“小”字刪除(可用SUBSTITUTE刪除“小”),然後在前面加兩個負號(負負得正)就可轉換為標準時間,然後再乘以86400(24*60*60)即可。

轉換的公式很簡單:

=--SUBSTITUTE(A2,"小",)*86400

赞(0)