excel - 如何使用 excel 公式从文本字符串 "7.00 pm to 8.00 pm"或 "11.00 am to 12.00 pm"计算小时差

标签 excel excel-formula excel-2010

我想从给定的文本字符串中计算小时数和分钟数,目前我使用一些 excel 内置函数创建了以下公式,

示例文本字符串:

7.00pm to 8.00pm or 9.00am to 11.45pm or 1.20pm to 3.40pm



创建的公式-
=CONCATENATE(REPLACE(SUM(NUMBERVALUE(REPLACE(RIGHT(A1,LEN(A1)-11),5,2,""))-NUMBERVALUE(REPLACE(A1,5,100,""))),2,3," Hour")," ",CONCATENATE(RIGHT(SUM(NUMBERVALUE(REPLACE(RIGHT(A1,LEN(A1)-11),5,2,""))-NUMBERVALUE(REPLACE(A1,5,100,""))),1)*10, " Minutes"))

上面的公式从给定的字符串中获取数值,然后计算差值,然后将值分开,然后与给定的文本连接

这适用于字符串

7.00pm to 9.40pm



输出:

2 Hour 40 Minutes



但我认为我所采取的方法不是最好的方法,而且当时间是上午到下午意味着“上午 9 点到下午 1 点”时它也行不通,那么有没有其他方法可以计算小时差。
或者我们可以微调这个公式...

如果此查询需要任何进一步的信息,请告诉我

最佳答案

时间属于时间。以下公式撤消了输入期间所犯的所有错误并计算了真实的时间值。

=TIMEVALUE(RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, ".", ":"), "am", " am"), "pm", " pm"), 8))-TIMEVALUE(LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, ".", ":"), "am", " am"), "pm", " pm"), 8))

给单元格一个自定义的数字格式,
h \hou\r\s \a\n\d m \mi\nut\e\s_)

该格式不会改变您拥有可在 future 计算中使用的原始基础值(value)这一事实。

enter image description here

关于excel - 如何使用 excel 公式从文本字符串 "7.00 pm to 8.00 pm"或 "11.00 am to 12.00 pm"计算小时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52126465/

相关文章:

excel - 如何从随机日期中得到下周四?

excel - ISERROR + VLOOKUP 空单元格的不同结果

string - 使用 Excel(或其他工具)将长文本拆分为 255 个字符的组

excel - 将 Excel 图表复制并粘贴到 Word 中,无需链接或另存为 GIF

xml - 功能类似于Excel中的importxml?

excel - 使用 VBA 关闭同一计算机上另一个用户打开的 Excel 工作簿

AND() 和 OR() 的 Excel 惰性求值

excel - 检测格式化为文本的重复项

excel - 仅当值超过 45 时才求和,如果小于 45,则不在底部单元格上显示值

excel - 一列的多个自定义日期格式?