String 找出两次之间的差值,然后乘以一个值
我想计算两次乘以另一列中的值的差值。我的专栏如下:String 找出两次之间的差值,然后乘以一个值,string,excel,time,excel-formula,worksheet-function,String,Excel,Time,Excel Formula,Worksheet Function,我想计算两次乘以另一列中的值的差值。我的专栏如下: Column A Column B Column C 1 09:00 - 21:00 2 我希望我的C列返回24,因为A列中的时差是12小时,B列中的乘数是2 请尝试: =B1*24*(MID(A1,FIND("-",A1)+2,LEN(A1))-LEFT(A1,5)) 下面是另一种方法,它使用T
Column A Column B Column C
1 09:00 - 21:00 2
我希望我的C列返回24
,因为A列中的时差是12小时,B列中的乘数是2
请尝试:
=B1*24*(MID(A1,FIND("-",A1)+2,LEN(A1))-LEFT(A1,5))
下面是另一种方法,它使用
TIMEVALUE()
来防止连字符周围的格式包含空格
=(TIMEVALUE(RIGHT(A1,LEN(A1)-FIND("-",A1)))-TIMEVALUE(LEFT(A1,FIND("-",A1)-1)))*24*B1
如上面的评论所述,您最好将它们放在单独的列中,但这些公式仍然有效
如果要减去在午夜(00:00)拆分的时间,可以使用MOD(XXX,24)
公式强制时钟算法。这将防止负面影响。这也意味着差值永远不能大于24(在乘以B列之前)
更简单的方法是,当您从文件中读入
09:00-21:00
时,将其解析为两个独立的列。如果你完全在Excel中完成这项工作,那么这肯定不是解决问题的方法。如果下面的答案不明显,Excel中的时间差是以天为单位的。你需要乘以24才能得到小时数。谢谢你。。。但当我尝试将A列更改为21:00-1:00时,它将显示负值…如何让结果返回4?此时,您必须对可能的值进行一些假设。因为我们在做“时钟”运算,所以它不像求绝对值那么简单。一种选择是寻找一个负数并在乘以B列之前加上24。另一种选择(如果我们同意时间间隔不能超过24小时)是使用模运算符强制“时钟”运算。这个公式是:=MOD((时间值(右(A1,LEN(A1)-FIND(“-”,A1)))-TIMEVALUE(左(A1,FIND(“-”,A1)-1))*24,24)*B1
=MOD((TIMEVALUE(RIGHT(A1,LEN(A1)-FIND("-",A1)))-TIMEVALUE(LEFT(A1,FIND("-",A1)-1)))*24,24)*B1