帮酷LOGO
  • 显示原文与译文双语对照的内容


問題:
name day1 day2 day3 day4 day5 totalhr DAY 
 person1 2hr 4hr 1.5hr 1hr 2hr 11.5 
 Person2 3hr 2.4hr 2hr 2hr 3hr 12.5 
 Person3 3hr 2hr 2hr 2hr 3hr 12hr 

我有一個具有文本值( 如上面的例子)的Excel工作表。

我想要一種方法,把它們轉換成幾天,這樣:

如果我有 12小時,它會四捨五入最近的一天,變成 1日。 如果超過 12小時,就可以表示為 1日 2小時。 直到 2hrs 到 12hrs,它變成 1日。

注意,這些值是文本格式的,而不是日期或者時間。 請注意,這些值是文本格式。 不是日期,不是時間。


回答 1:

可以使用這裡函數從帶有時間( 如果時間在單元格A2中)的單元格中獲取數字:

=LEFT(A2,SUM(LEN(A2)-LEN(SUBSTITUTE(A2,{"0","1","2","3","4","5","6","7","8","9"},""))))

你可以通過在 SUM() 函數中包含這裡公式來添加多個單元格的值,每個單元格一個單元格。

假設你將它的放入 E5 中,那麼你可以將它轉換為類似於以下內容的日期和時間:

= QUOTIENT(E5,24) & IF(E5/24<2," Day"," Days") & MOD(E5,24) & IF(MOD(E5,24)<2," Hour"," Hours")

然後通過將它的放置在一個如下的情況下,以一天的時間進行任何操作:

= IF(E5/24<1,"1 Day",QUOTIENT(E5,24) & IF(E5/24<2," Day"," Days") & REST(E5,24) & IF(REST(E5,24)<2," Hour"," Hours"))

來源:https://www.ablebits.com/office-addins-blog/


回答 2:

怎麼辦:

=IF(MOD(SUBSTITUTE(SUBSTITUTE(E5,"hrs",""),"hr",""),24)>=12,ROUND(SUBSTITUTE(SUBSTITUTE(E5,"hrs",""),"hr","")/24, 0), FLOOR(SUBSTITUTE(SUBSTITUTE(E5,"hrs",""),"hr","")/24,1)&" D"&MOD(SUBSTITUTE(SUBSTITUTE(E5,"hrs",""),"hr",""),24)&" H")

比如 E5 就是你的手機。

說明:

SUBSTITUTE(SUBSTITUTE(E5,"hrs",""),"hr","")

刪除"小時數"和"hr"。

然後其他部分檢查小時的MOD 是否為> = 12:

  • 如果是的話,把它轉到第二天
  • 如果沒有,就寫下 FLOOR,然後寫上小時




Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语