首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在 Excel 中计算四舍五入或四舍六入,听我劝,一个函数就能搞定

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!

点击上方蓝字 --> 点击“...”--> 选择“设为星标

有同学问 Power Query 是不是可有可无的?如果在 Excel 中可以完成的需求,不用 PQ 也无所谓。

如果非要这么说,也不是不对,但是好比你非要说沈阳到广州如果不坐飞机,走着也能到,自然无法反驳。

今天的案例,就好比是在 Excel 用公式相当于步行,而 PQ 却提供了直达航班。

案例:

对下图 1 中的数组分别进行四舍五入和四舍六入,结果保留 2 位小数。

效果如下图 2 所示。

解决方案:

1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”

2. 在弹出的对话框中点击“确定”。

表格已上传至 Power Query。

3. 选择菜单栏的“添加列”-->“自定义列”

4. 在弹出的对话框中将“新列名”设置为“两位小数”--> 输入以下公式 --> 点击“确定”:

Number.Round([数值],2,0)

公式释义:

Number.Round 的作用是将数值按要求舍入到最接近的值;

前两个参数是必需的,分别表示要舍入的值,以及保留的位数;

第三个参数可选,如果需要四舍五入,那么必须在此输入“0”,否则默认情况下是银行家舍入

既然上面的公式释义提到了一个概念:银行家舍入,那么就解释一下是什么意思。

银行家舍入也称为“四舍六入五成双”;

当尾数 =6 时,将尾数舍去向前一位进位;

当尾数等于 5 时,如果 5 前面的数字是奇数则进位,是偶数则不进位

如果 5 的后面还有不为 0 的任何数,则均应进位

有关这个算法的 VBA 解法,可以参阅 Excel VBA(10) – 银行家舍入解决方案。

Power Query 中非常方便,只要 Number.Round 中第三个参数不写,默认就是该算法。

5. 再次选择菜单栏的“添加列”-->“自定义列”

6. 在弹出的对话框中将列名定义为“银行家舍入”--> 输入以下公式 --> 点击“确定”:

Number.Round([数值],2)

大家可以比较一下,红框中的结果,就是两种舍入的差异值。

7. 删除“数值”列。

8. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”

9. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“加载”

绿色的表格就是两种不同的舍入结果,本来挺复杂的事情,在 PQ 中这么简单。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OMTwU3cUb46frwa_xmHQcy9Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券