Excel公式时间表 - IF语句

时间:2018-05-08 23:30:52

标签: excel if-statement

我正在Excel中构建时间表(参见标题图片)Excel time sheet

在标题时间+/- 的列中,我正在尝试编写一个公式来计算,如果工作时间(根据时间工作列AB计算)高于或低于最近的一分钟,带走8小时,因为这是标准的工作日。

我想出了这个

=IF(AA2>TIME(8,0,0),(ROUND($AA2*1440,0)/1440),IF(AA2<TIME(8,0,0),(ROUND($AA2*1440,0)/1440)))-TIME(8,0,0)

这个公式做了我想要的,但似乎没有任何建议,如何让它变得更好?

2 个答案:

答案 0 :(得分:1)

如果使用1904日期系统,则以下内容应该有效:

=-1/3+ROUND(AA2*1440,0)/1440

这需要ROUND(AA2*1440,0)/1440(已经熟悉OP)和8小时之间的差异。由于处理日期/时间索引(一天为1),因此8小时可表示为1/3

答案 1 :(得分:0)

您在公式中多次使用(ROUND($ AA2 * 1440,0)/ 1440)。您可以在单独的列中计算一次,并在公式中多次引用该列。该列甚至可以隐藏,因此不会给电子表格添加噪音。也可以在宏函数中执行它,只需从公式调用宏函数。可以在此处找到如何执行此操作的示例:How to call VBA function from Excel cells (2010)?