Excel 2010根据另一个单元格的值计算新值

希望有人能帮助我。 很多年前,我为我们的园艺公司在VB 6中编写了一个完整的订购系统,其function与我需要Excel电子表格的function相同,但是我不再有代码或者不知道自己做了什么。

基本上,我们有一个电子表格,每一行都有项目编号(例如“12345”,项目描述(例如“矮牵牛蓝霜”),该项目出售的倍数(例如“100”,“48 “,”288“)和一个用户可以input他们想要为每个项目订购的数量的列。在我以前的VB系统中,无论他们在订购的数量字段中,它会自动四舍五入到下一个因此,如果倍数是“100”,那么他们将“1”放在数量上,它会自动四舍五入到“100”;如果他们放上“101”,就会将它舍入到“200”。

我怎样才能让Excel自动做到这一点,基于倍数是多less,以及订购的数量是什么?

提前致谢!

Excel公式不会就地修改(在你的情况下,计算CEILING)值。 你可能修改了VB中的文本字段。

您可以使用VBA来处理单元格更改事件并计算它,但这可能不是一个很好的处理方法。 使用额外的列执行=CEILING(D1,C1)可能是更好的解决scheme。

我认为这是正确的计算来完成你所需要的。

 =CEILING( quantity / multiple ) * multiple 

示例数据:

quantity: 101
multiple: 100
expected: 200

例:

数量/倍数= 1.01
CEILING(1.01)= 2
2 * 100 = 200