如何将单元格中的数字取整为Excel中的特定数字
我有一些产品价格,比如如何将单元格中的数字取整为Excel中的特定数字,excel,vba,Excel,Vba,我有一些产品价格,比如 30,56 25,34 26,88 30,13 我想用0,50的上限来取整它们 如果数字超过x.50,则为x.90,如果不是,则为x.50 使用VBA函数是否可能?使用此公式进行四舍五入: =IF(A:A-INT(A:A)>0.5,INT(A:A)+0.9,INT(A:A)+0.5) 解释 它减去浮点数so的整数部分,并测试其是否为>0.5soA:A-INT(A:A)>0.5表示(30.56-30)>0.5,即0.56>0.5 公式的意思是: If (30.5
30,56
25,34
26,88
30,13
我想用0,50的上限来取整它们
如果数字超过x.50,则为x.90,如果不是,则为x.50
使用VBA函数是否可能?使用此公式进行四舍五入:
=IF(A:A-INT(A:A)>0.5,INT(A:A)+0.9,INT(A:A)+0.5)
解释
它减去浮点数so的整数部分,并测试其是否为>0.5
soA:A-INT(A:A)>0.5
表示(30.56-30)>0.5
,即0.56>0.5
公式的意思是:
If (30.56 - 30) > 0.5 Then (30 + 0.9) Else (30 + 0.5)
替代解决方案:
=INT(A1)+0.5+0.4*(MOD(A1,1)>0.5)
使用IF、MOD和RoundDown
=IF(MOD(A2,1)>0.5,ROUNDDOWN(A2,0)+0.9,ROUNDDOWN(A2,0)+0.5)
您可能需要附加条件来处理附带案例,例如价格为0。是的,这是可能的。如何处理?:)@Nikos 20,95的值应该四舍五入到什么?虽然是向上或向下四舍五入,但它是32.35到30.50,而不是32。50@Nikos“它是32.35到30.50,而不是32.50”那不是真的,你当时做错了什么。该公式按预期工作。我补充了一个解释。