如何将Excel中加价1.5%后向上取整至10美元的公式转MySQL?
在MySQL中复刻Excel的加价取整逻辑
当然可行!我们可以用MySQL的内置函数完美实现你在Excel里的需求——给价格加价1.5%后,向上取整到下一个10美元的整数。
先拆解你的Excel公式逻辑
你在Excel里用的=ROUNDUP(SUM(A2*1.015),-1)其实做了两件核心事:
- 给目标价格(A2)加价1.5%:
A2*1.015(这里的SUM其实可以省略,因为只是单个值的计算) - 用
ROUNDUP向上取整到十位(参数-1指定取整到十位,也就是10美元的倍数)
MySQL的实现方式
假设你的价格字段名为price,对应的MySQL表达式如下:
CEIL(price * 1.015 / 10) * 10
逐部分解释这个表达式
price * 1.015:和Excel逻辑完全一致,给价格增加1.5%/ 10:把加价后的数值缩小到以“十”为单位,比如123.45会变成12.345CEIL():MySQL的向上取整函数,对应Excel的ROUNDUP,12.345会被取整为13* 10:将取整后的数值还原回原量级,13就变成130,也就是下一个10美元的整数
验证示例
比如原价是100美元:
- Excel计算:
100*1.015=101.5,ROUNDUP(101.5,-1)=110 - MySQL计算:
CEIL(100*1.015/10)*10 = CEIL(10.15)*10=11*10=110,结果完全一致
再比如原价是150美元:
- Excel计算:
150*1.015=152.25,ROUNDUP(152.25,-1)=160 - MySQL计算:
CEIL(152.25/10)*10=CEIL(15.25)*10=16*10=160,结果也完美匹配
另外,MySQL里CEIL()和CEILING()是完全等价的同义词,你可以根据习惯任选其一。
内容的提问来源于stack exchange,提问作者GregB
相关产品推荐
相关产品推荐

