Excel - 將天 hh:mm:ss 轉換為分鐘(包括負值)

Excel - 將天 hh:mm:ss 轉換為分鐘(包括負值)

給定以下格式的資料(即天小時:分鐘:秒):

-4 1:0:0.0

如何在 Excel 中將其轉換為分鐘? (例如5820分鐘)

我目前將文字寫入列(天列;hh:mm:ss 列)並執行 =([@Days]+[@Hours])*24*60;但這會在天數為負時給出錯誤的值(例如-5700)。

有人有優雅的公式嗎?

答案1

假設資料中始終存在小時(即使為零),因此有一個空格,請嘗試使用此公式從 A1 中的原始資料中提取分鐘

=(LEFT(A1,FIND(" ",A1))+MID(A1,FIND(" ",A1)+1,20)*IF(LEFT(A1)="-",-1,1))*1440

對於您的範例,這應該給出 -5820 - 這是預期的結果還是您總是想要一個正值?

答案2

將 abs 函數包裹在對日期的儲存格參考周圍。例如,如果日期儲存在 A1 中,請將 A1 替換為abs(A1)。這將自動返回不帶符號的數字,因此負數將作為正數返回,從而使函數正常工作。

我會為您執行此操作,但我不知道您的電子表格是如何設定的以及您使用的儲存格格式。如果您將電子表格的(相關部分)附加到您的問題中(將其上傳到 Dropbox 或 Mediafire 或類似裝置),那麼我會這樣做。

答案3

(我不明白克里斯如何使用@來指示列名稱。對我來說不起作用。在我的解決方案中,每列都是一個命名範圍(天和小時),並且裸露的範圍名稱出現在公式中。

這裡要注意的是兩個都列包含數字。小時列包含一個分數;由於它的格式為時間,因此會被解釋為 24 小時週期的一小部分。這一定是真的,或者公式

 =(Days+Hours)*24*60

即使是正面的價值觀,也不會做任何有用的事情。

現在,我們將始終為正值或均為負值的值相加。 Days 值始終具有正確的符號,但 Hours 值始終為非負值,即使它應該為負值。因此,當 Days 為負數時,我們需要更改 Hours 值:

 =(Days+IF(Days>=0,Hours,-Hours))*24*60

相關內容