Excel自定义舍入规则求助:.3及以下向下取整,.4及以上向上取整
解决Excel自定义取整需求的公式方案
原公式问题分析
你之前使用的=IF(RIGHT(F16,2) > ".4",CEILING(F16,1),FLOOR(F16,1))之所以失效,是因为RIGHT(F16,2)提取的是文本格式内容,和.4做文本比较时逻辑不符合数值判断规则;而且如果单元格数值的小数位数不是两位,提取结果会出错,最终导致取整逻辑还是默认的四舍五入规则。
正确公式方案
方案一:用MOD函数精准判断小数部分
=IF(MOD(F16,1)>=0.4,CEILING(F16,1),FLOOR(F16,1))
MOD(F16,1)会精准提取F16的小数部分(例如1.3返回0.3,1.4返回0.4)- 直接和0.4做数值比较,判断逻辑准确,完美匹配「小数部分≤0.3向下取整,≥0.4向上取整」的需求
方案二:简化的ROUND函数写法
=ROUND(F16+0.1,0)
- 原理:给原数值加0.1后,利用ROUND函数的四舍五入规则,刚好适配你的自定义取整需求:
- 示例:1.3+0.1=1.4 → ROUND后为1(向下取整)
- 示例:1.4+0.1=1.5 → ROUND后为2(向上取整)
内容的提问来源于stack exchange,提问作者Lydia Mosel
相关产品推荐
相关产品推荐

