我已经摆弄这个等式一段时间了,但无法找出错误所在。
有人可以帮忙吗?
我在丹麦使用 Excel,它要求我使用逗号而不是句号作为小数。不要问我为什么,这就是他们的数字系统的工作原理。
=IF((J5-I5)*24-K5>7,5;(J5-I5)*24-K5-L5),IF((J5-I5)*24-K5-L5>2;2;0)
编辑:我们正在计算工作时间。例如,如果开始时间为 06:00,结束时间为 17:00,中间休息 0.5 小时,那么我向客户收取的费用将是 10.5 小时。但超过 7.5 小时的所有工作都要额外收费。
- 前 7.5 小时为 203.82 克朗
- 7.5 小时后的前 2 小时为 253.82 克朗
- 2 小时后每小时 303.85 克朗
我需要使用上述公式的单元格来根据在 J5 和 I5 中输入的时间计算工作时间,然后减去在 K5 中输入的休息时间。如果结果超过 7.5 小时,则应该只显示超过 7.5 小时的时间(工作了 10.5 小时,但只显示 2 小时)。额外的时间应该在另一个单元格中计算,但公式基本相同。
我希望这是有道理的。
这是我正在使用的电子表格的屏幕截图。
你好,fixer1234,
那么让我先从要点开始。我只是希望我能正确理解你的问题。
- 我乘以 24,这样我就可以从结束时间中减去开始时间,得到工作了多少小时。这样,我只需输入他们上班/下班的时间,电子表格就会计算出其余的时间。
- 不,没有人会通宵工作。
- 是的。K5 和 L5 是实际工作的时间,而不是工作时间。
- 我希望 L5 显示他们总共工作了多少小时,最多为 7.5 小时。M5 显示超过 7.5 小时的小时数(最多为 2 小时),N5 显示他们在 M5 中的 2 小时内工作了多少小时。
简而言之,结果应该是这样的:
- I5正在打卡
- J5 正在下班时间
- K5几个小时内被打破
- L5 为总工作时长(最多 7.5 小时;如果工作时间少于 7.5 小时 - 例如 6 小时,则应为 6
- M5 表示工作时间超过 7.5 小时(如果工作时间超过 7.5 小时,但最多为 2 小时)
- N5 是超过 7.5 小时的 2 小时内剩余的工作时间
答案1
您似乎已经处理了 L5。如果您使用 IF 测试来获取它,则可以使用以下公式将其缩短:
=MIN(7,5;(J5-I5)*24-K5))
这样就可以计算工作时间,并将正常工作时间限制为 7.5 小时。
看起来问题中的公式适用于 M5(如果 > 2 小时,则返回 2 小时上限,但如果在 2 小时以内,则不返回值)。
您的公式在加班计算中引用了 L5,但由于该值可能小于 7.5,因此您使用另一个 IF 测试来限制它。您实际上只对 7.5 感兴趣,因此您只需在加班单元格中使用 7.5 即可消除大部分内容。您也可以不使用 IF 测试,而是使用更短的公式来执行此操作。
第一个 2 小时的单元格 M5 可能如下所示:
=MIN(2;MAX(0;(J5-I5)*24-K5-7,5))
公式的最后一部分与第一个 IF 测试相同,它计算总“加班时间”。但是,如果该人的工作时间少于 7.5 小时,则计算结果将为负数。如果时间少于 7.5 小时,则 MAX 为 0 或该结果将返回零,如果时间大于 7.5 小时,则返回加班时间。如果时间小于 2,则 MIN 为 2 或该结果将返回实际加班时间,如果时间大于 2,则将其上限设为 2。
>2小时的单元格N5可能如下所示:
=MAX(0;(J5-I5)*24-K5-9,5)
对于此单元格,您需要任何大于 9.5 的小时数(7.5 个基本小时加上前 2 小时的加班时间)。同样,最大值为 0 或该结果可确保排除少于 9.5 小时的数字。