我有一列數據,我想根據從最早到最新的時間進行排序。使用公式將格式0d 22h 41min轉換爲任意格式的時間
數據的格式表現爲:
0D 22小時41分鐘,
0D小時3分鐘
等等
什麼是做到這一點的最好方法是什麼?我假設提取數字0,22和41,然後使用計算將其轉化爲幾分鐘,然後允許我重新排序它?
請指教最好的方式,如果可以的話,也可以配方。
我有一列數據,我想根據從最早到最新的時間進行排序。使用公式將格式0d 22h 41min轉換爲任意格式的時間
數據的格式表現爲:
0D 22小時41分鐘,
0D小時3分鐘
等等
什麼是做到這一點的最好方法是什麼?我假設提取數字0,22和41,然後使用計算將其轉化爲幾分鐘,然後允許我重新排序它?
請指教最好的方式,如果可以的話,也可以配方。
假設天小時和分鐘總是存在,然後用在A2數據嘗試在該式中B2轉換爲時間值:
=SUM(MID(0&A2,FIND({"d","h","m"},0&A2)-2,2)/{1,24,1440})
自定義格式B2作爲[h]:mm
顯示總小時和分鐘。 .....然後你可以使用B作爲「鑰匙」
將與價值觀應付大99天的兩列進行排序 - 天數較高試試這個版本
=LEFT(A2,FIND("d",A2)-1)+SUM(MID(A2,FIND({"h","m"},A2)-2,2)/{24,1440})
您可以通過多種方式做到這一點,但一些簡單的字符串操作和連接可以在公式中使用:
假設
首先,你必須提取HH和使用MID的毫米()函數
您可以通過使用FIND()函數來搜索'd','h'和'm'來提取它們之間的數字。
最後,你只是在連接一起22:41用 「:」
對於A1(放在另一列即B1):
=MID(A1, FIND("d", A1) + 2, SUM(FIND({"d","h"}, A1) * {-1,1}) - 2)&":"&IF(LEN(MID(A1, FIND("h", A1) + 2, SUM(FIND({"h","m"}, A1) * {-1,1}) - 2))=2,MID(A1, FIND("h", A1) + 2, SUM(FIND({"h","m"}, A1) * {-1,1}) - 2),"0"&MID(A1, FIND("h", A1) + 2, SUM(FIND({"h","m"}, A1) * {-1,1}) - 2))
結果應該是
A1 = 0d 22h 41min
A2 = 0d 2h 3min
B1 = 22:41
B2 = 2:03
應該注意的是,如果發生「3分鐘」,我們使用LEN()函數來查看分鐘值是1個字符還是2個字符長。如果它是2個字符(即41),則保持原樣。如果它是1個字符(即3)然後把它的0面前得到03.
希望有幫助。
假設你有你在A列的數據,單元格A1,A2等,你可以用下面的公式來提取天,小時和分鐘,然後添加了一切:
首先,提取物天進小區B1:
= LEFT(A1,FIND( 「d」,A1) - 1)
現在,小時到C1:
= MID(A1,FIND( 「d」,A1)+ 2,FIND( 「H」,A1) - 查找( 「d」,A1)-2)
和分鐘到D1:
= MID(A1,FIND( 「H」, A1)+1,FIND(「min」,A1)-FIND(「h」,A1)-1)
天的0
穿戴總和到E1:
= B1 * 24 * 60 + C1 * 24 + D1
現在排序上柱E.
另一種可能性是使用正則表達式查找和替換數據:
找到:
([0-9] {1,2})d([0-9] {1,2})H([0-9] {1,2})分鐘
取代:
= \ 1 * 24 * 60 + \ 2 * 24 + \ 3
This page描述了示例日期操縱替換行爲。
這是非常令人印象深刻的工作 - 謝謝,但是,我確實需要去99天以上...你可以調整你的公式或給我一些指導?關於 – Amster 2013-03-27 08:55:28
我添加了一個修改後的版本,可以在任意天數上工作 – 2013-03-27 19:46:55
謝謝,這很完美 - 感謝您的幫助:) – Amster 2013-04-05 13:04:59