基于Excel中15分钟增量计算成本

时间:2016-03-03 11:47:36

标签: excel excel-vba excel-formula excel-2010 ms-office vba

这个令人困惑,我有一个用户已经请求了一张excel表,允许他们在几分钟内输入一个时间到单元格A1,它将计算一个值来为单元格C1中的另一家公司收费。但收费标准如下: 第一个小时£355.68, 在那之后每15分钟£88.92

如果在这15分钟增量中的一个时间内超过7分钟,它将向上舍入到整整15分钟或者如果它在7分钟以下则向下舍入。我真的不知道从哪里开始这个。

2 个答案:

答案 0 :(得分:1)

假设A1中的值只是几分钟而且在1到60分钟之间的任何时间收费为355.68英镑,我认为以下情况应该有效:

=355.68+IF(A1>60,88.92*(FLOOR((A1-60)/15,1)+IF(A1-60-15*FLOOR((A1-60)/15,1)>7,1,0)),0)

<强>解释

我们从355.68英镑的基本成本开始。使用FLOOR((A1-60)/15,1)给出了我们在第一个小时后完成的15分钟间隔的数量。我们最初乘以88.92英镑,然后在考虑到第一个小时和任何完成的15分钟时间后,我们检查剩余的分钟数 - A1-60-15*FLOOR((A1-60)/15,1)。如果这大于7,我们为“部分完成”增加额外的88.92英镑。

答案 1 :(得分:0)

要舍入到“最接近的”15分钟间隔,其中“分割”发生在7分钟,并且您输入的时间为“Excel分钟”(例如,开始和结束时间之间的差异,以分钟为单位,或输入例如,00:42,只需添加少于30秒的时间(例如29秒),然后再舍入到最接近的15分钟。

例如:(以下之一)

=MROUND(A1+TIME(0,0,29),TIME(0,15,0))
=MROUND(A1+29/86400,15/1440)

或使用ROUND

=ROUND((A1+TIME(0,0,29))/TIME(0,15,0),0)*TIME(0,15,0)
=ROUND((A1+29/86400)/15*1440,0)*15/1440

你应该能够解决剩下的问题。如果你做不到,请将你尝试过的内容和遇到问题的内容发布。