2013-10-17 43 views
1

我目前有一張帶有一組日期列的表格,每行都有一個人名,在每個日期下,一個數字表示他們在培訓中完成的分鐘數。即2013年1月10日的5個示例行可能是30,25,60,45,15。我希望能夠在HH:MM:SS範圍內對其進行格式化,但保持數據自身相同,以便進行適當的計算可以在數據上完成。Excel數字格式的數字顯示時間

  1. 這可能使用Excel數字格式?
  2. 如果沒有,是否可以使用VBA以外的任何其他功能?
  3. 如果只能使用VBA,那麼是否有可能只在公式中將HH:MM:SS轉換回MM。
+0

+ 1問得好: )讓我想了一會兒...... –

回答

2

在Excel中,時間以數字形式存儲,1天(= 24小時)代表圖形「1」,即小時和分鐘是「1」的分數。

因此,爲了將數字「45」(表示分鐘)轉換成Excel時間,您將使用=45/60/24並且格式爲時間,例如, 「MM:SS」。 (針對您的第2和第3點的建議答案)

您可以按照與原件相同的方式使用如此轉換的時間進行計算。如果添加時間並期望結果> 00:59:59分鐘或> 23:59:59小時,請使用「[hh]:mm:ss」或「[mm]:ss」自定義格式字符串。

最簡單的方法是直接輸入「45」作爲時間通過在單元格中輸入「0:45」。

要獲得一分鐘的時間,您可以使用=MINUTE(<datetime>) ...結果是0..59 ...所以超過60分鐘,您還需要執行=HOUR(<datetime>)

編輯: 如果你只熱衷顯示 「45」 爲 「45:00」,使用自定義格式00 「:00」(意爲顯示2位數字,然後字符串常量「:00」...將數值2顯示爲「02:00」,數值45顯示爲「45:00」;有點假,但...;)

+0

我想避免更改數據,因爲可能存在25-30行左右,最多365列(可能需要編輯的11,000個單元)。所有的數據都來自於一個導出,如果我要開始改變數據,這將無視通過使用數字格式來簡化這個目標。 – bizzehdee

+0

不需要改變......如果只是用於顯示,使用上述公式在原始「45」旁邊/下面創建另一個單元格並顯示爲「mm:ss」;實際上@Siddharth通過使用範圍/粘貼/劃分方法將/ 24/60除以相同 – MikeD

0

這是一個非常有趣的方式正在做。該方法不涉及VBAFormulas

比方說,你的Excel工作表看起來像這樣

enter image description here

現在在片任意空白單元格中輸入60。出於演示的目的,我會做它低於上述範圍...說,在小區A4

enter image description here

下副本你的A4 (cell which has 60),然後右鍵單擊範圍A1:E2並點擊Paste Special。接下來選擇PasteDivideValuesOperation

enter image description here

你會得到這一點。

enter image description here

現在,在細胞A4值更改爲24並重覆上述過程。

enter image description here

你會得到這個

enter image description here

現在簡單的自定義格式的範圍A1:E2作爲[hh]:mm:ss,你會得到你的結果

enter image description here