2014-01-20 74 views
1

我试图将一个公式保存为同事的自定义函数,因为它不断出现,她需要它。我终于设法让它工作 - 在一个单元上。但它不适用于另一个单元。在一个单元格中工作但不是另一个单元格的自定义函数公式

数据:

结果所需 45.00 486.00

需要 43.50 108.00

结果在Excel中的公式=ROUNDUP((D16/C16)*4,0)/4

我认为在VBA模块它是

Function RoundQuantity(Amount, Rate) As Integer 
    RoundQuantity = Application.RoundUp((Amount/Rate) * 4, 0)/4 
End Function 

当我从Excel中调用该函数时,我使用的是=RoundQuantity(D16,C16),它成功地从10.48变为11.00,但是它变为2.48至2.00。

只是为了解释这个函数,我试图将Quantity(第一列)四舍五入到最近的四分之一。

请帮助?

+0

“最接近的季度”究竟是什么意思?单位最近的四分之一?因为如果是这样的话,那么'10.48'不会被舍入到'10.5'? – Manhattan

+1

CEILING工作表函数不会轻松工作吗? '= CEILING(D16/C16,0.25)' –

回答

1

尽管我没有完全获得术语nearest quarter,但您对2.00评估的原因很简单 - 您的函数返回一个整数。只要将Function RoundQuantity(Amount, Rate) As Integer更改为Function RoundQuantity(Amount, Rate),并且它应该返回2.50,前提是格式正确。

见下面我的截图:

enter image description here

让我们知道这会有所帮助。

+0

这解决了我的问题。谢谢! – user3216628

+0

@ user3216628:如果它帮助你,请接受答案。注意SO的规则。不客气,祝你好运。 – Manhattan

相关问题