有这样一个例子,如下图,要求计算每个人、每天的工作时长。

这个打卡数据的特征是,在上班时间和下班时间中,有“上午”和“下午”字样,而打开时间则是按照12小时制计的。
这样,一方面上班时间和下班时间是文本数据,不能做减法计算,另一方面,即使将数据中的“上午”和“下午”清除也不能之间相减计算,因为这是12小时制时间,不是24小时制时间。
那么,我们如何计算每个人每天的工作时长呢?
我们可以按照下面的基本逻辑思路来解决这个问题:判断上班时间和下班时间是“上午”还是“下午”,如果是“上午”,就直接替换掉“上午”两字,得到一个上班日期时间;如果是“下午”,就先替换掉“下午”两字,再加上0.5(12小时就是0.5天),这样,设计两个辅助列,整理上班时间和下班时间,如图所示。
上班时间整理公式为:
SUBSTITUTE(D2,"下午","")+0.5)
下班时间整理公式为:
SUBSTITUTE(E2,"下午","")+0.5)

有了这两列整理后的上班时间和下班时间,就可以很容易计算出工作时长了,计算公式为:
=H2-G2
这个问题初看起来很麻烦,其实弄明白了数据的特征,了解了日期时间的基本规则,这个问题解决起来并不复杂,是很简单的。
那么,你了解日期和时间的基本规则吗?

