【问题标题】:Retail decimal rounding conditions using custom rounding rules使用自定义舍入规则的零售小数舍入条件
【发布时间】:2014-11-12 05:14:58
【问题描述】:
在 MS excel 中,我试图根据这些条件创建零售价:
如果零售价在 0.11 和 0.36 之间结束,则零售价将以 0.31 结束,例如:5.15 美元 = 5.31 美元
如果零售价在 0.95 和 0.00 之间结束,则零售价将以 0.96 结束,例如:5.00 美元 = 4.96 美元,5.98 美元 = 5.96 美元
如何将 Excel 中的这些条件应用于一组零售价格,查看小数位并通过自定义/随机条件定义输出?
【问题讨论】:
标签:
excel
conditional-statements
rounding
【解决方案1】:
你可以使用这个公式来达到同样的效果:
=IF(AND(MOD(C3,1)>=0.11,MOD(C3,1)<=0.36),0.31+INT(C3),IF(AND(MOD(C3,1)>=0.95,MOD(C3,1)<=0.99),0.96+INT(C3),IF(MOD(C3,1)=0,INT(C3)-1+0.96,MOD(C3,1)+INT(C3))))
其中,C3 包含您的零售价。
【解决方案2】:
我宁愿创建一个包含可维护性和可定制性参考的表,如下所示:
并输入其他不属于任何位置的范围,以=NA() 作为四舍五入的结果,以表明不应更改数字。
我在B2中使用的公式是:
=IFERROR(INT(A2)+SUMIFS(F:F,D:D,"<="&IF(MOD(A2,1)=0,1,MOD(A2,1)),E:E,">="&IF(MOD(A2,1)=0,1,MOD(A2,1))),A2)