员工时间表 – 计算1个单元格中的总时间; 自动格式化时间

我有一个现有的员工时间表excel文件,我想使“更聪明”。

对于每位员工,一周中的每一天都会在一个单元格中input时间(例如,上午7点到下午3点)。 我希望在本周末计算每位员工的总小时数。 我有一个公式,但它带来了更多的问题。

=((SUBSTITUTE(B4,LEFT(B4,FIND("-",B4)+1),"")*1-SUBSTITUTE(B4,RIGHT(B4,FIND("-",B4)-1),"")*1)+(SUBSTITUTE(B4,LEFT(B4,FIND("-",B4)+1),"")*1<SUBSTITUTE(B4,RIGHT(B4,FIND("-",B4)-1),"")*1))*24 

在这里,时间input到单元格B4中,并将此公式粘贴到您希望计算总小时数的单元格中。

在这个公式中,需要以“XX:XX AM – XX:XX PM”的格式input时间,否则不起作用。 此外,如果一个单元格是空白或closures,它再次不起作用。 所以我想将任何单元格中input的时间自动转换为“7 AM-3PM”格式为“7:00 AM – 3:00 PM”。

此外,如果一个单元格的值是空的或者是OFF,那么它将单元格的值设为“00:00 AM – 00:00 AM”,但仍然显示为空白/ OFF。

我计算一周总小时数的方法是每天总结上面的公式(它变得很长,我不确定这是否是最好的方法)。

任何帮助,这将不胜感激。

这将采取您的入门,做你想做的事情:

 =IFERROR(TRIM(SUBSTITUTE(SUBSTITUTE(MID(A1,FIND("-",A1)+1,LEN(A1)),"AM"," AM"),"PM"," PM")) -TRIM( SUBSTITUTE(SUBSTITUTE(LEFT(A1,FIND("-",A1)-1),"AM"," AM"),"PM"," PM")),0) 

[1]:https://i.stack.imgur.com/A3i