2014-01-20 70 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

相關問題