前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有趣的数字取整,深入理解ROUNDUP函数

有趣的数字取整,深入理解ROUNDUP函数

作者头像
fanjy
发布2022-04-13 13:28:03
1.1K0
发布2022-04-13 13:28:03
举报
文章被收录于专栏:完美Excel

标签:Excel函数

这是一个关于数字取整的有趣问题,示例数据如下图1所示。

图1

在单元格B2中的公式为:

=ROUNDUP(A2,-INT(LOG10(A2)))

非常精彩的公式!它对数字的取整方式为:

¥12,036,219.22转换为¥20,000,000.00;¥437,379.70转换为¥500,000.00,等等。

然而,如果想将¥12,036,219.22转换为¥13,000,000.00,除此之外,其它数字仍按原方式转换,如何编写公式?

由于只有1个例外,很自然地就考虑到使用IF函数,于是在单元格D2中输入公式:

=ROUNDUP(A2,IF(-INT(LOG10(A2))=-7,-6,-INT(LOG10(A2))))

-INT(LOG10(A2))确定舍入级别。如果函数测试为指定值,则仅更改指定值的舍入级别。结果如下图2所示。

图2

更进一步,如果存在多个例外,怎么办?

首先,创建一个查询表,可以方便地指定例外情形,如下图3所示。

图3

这样,单元格E2中的公式为:

=ROUNDUP(A2,INDEX(list!B1:B8,MATCH(-INT(LOG10(A2)),list!A1:A

该公式在工作表list中查找列A中的值并获取列B中对应的舍入级别。这种方法很容易修改列B中的舍入级别。(注意到,单元格A8中的值-7对应的值是一个例外,舍入级别为-6而不是-7。)

也可以使用数组公式,直接将查询表的值放入公式中。单元格F2中的公式为:

=ROUNDUP(A2,INDEX({0;-1;-2;-3;-4;-5;-6;-6},MATCH(-INT(LOG10($A2)),{0;-1;-2;-3;-4;-5;-6;-7},0)))

这是一个数组公式,输入完后要按Ctrl+Shift+Enter组合键。

小结

通过本示例,应该更深入的理解了ROUNDUP函数,以及根据需要灵活编写公式的技巧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档