划分均匀和不均匀的数字

时间:2014-07-31 09:12:03

标签: excel-vba office-2013 vba excel

我很高兴发现这个网站。我得到了很好的帮助。希望你们能帮我解决另一个问题。我想围绕一个数字。假设我有一个39号,如果我把它分成2然后我得到18.5。这非常合乎逻辑。但是,当你在计算人数时,你就无法将一个人减少一半。所以我在vba中寻找一个formule。我尝试了圆函数

group=39
devideby = 3 'devideby can be 2 or 3
test = round(group/devideby)

如果我这样做,我得到测试= 20。我希望有2个或3个单独的答案:如果用数字2分开,那么我想要20和19.如果分为3,那么我想要13,13和13.有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

Dim arrOutput(2)

Select Case divideby
    Case 2
        arrOutput(0) = Int(group / divideby)
        arrOutput(1) = group - arrOutput(0)
        arrOutput(2) = 0
    Case 3
        arrOutput(0) = Int(group / divideby)
        arrOutput(1) = Int((group - arrOutput(0)) / 2)
        arrOutput(2) = (group - arrOutput(0)) - arrOutput(1)
    Case Else
        MsgBox "Error"
End Select

它不是很优雅,但我认为它符合您的要求