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


问题:
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  |  如果智培  |  酷兔英语