如何使用excel公式从“7.00 pm到8.00 pm”或“11.00 am到12.00 pm”的文本字符串计算小时差

问题描述 投票:1回答:1

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

示例文本字符串:

晚上7点至晚上8点或上午9点至晚上11点45分或下午1点20分至3点40分

公式创建 -

=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点到晚上9点40分

输出:

2小时40分钟

但是我觉得我所采取的方法不是最好的方法,而且当时间到上午时间意味着“早上9点到下午1点”,它也不会起作用,那么有没有其他方法可以计算出小时数的差异。或者我们可以微调这个公式......

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

excel excel-formula excel-2010
1个回答
5
投票

时间属于时间。以下公式解除了输入过程中出现的所有错误,并计算了一个真实的时间值。

=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_)

格式不会改变您具有可用于将来计算的原始基础值的事实。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.