大家好,欢迎来到IT知识分享网。
现在要对表格里的数据进行四舍五入,但要求不一样,大于100的数保留到整十位,大于1000的数保留到整百分位,大于10000的数保留到整千位,小于100的数字没有,故这不考虑这种情况。这里我们介绍三种函数方法。
面对这种情况,要进行四舍五入,肯定要用到ROUND函数。
round函数的语法是:ROUND(number,num_digits),即:Round(数值,保留的小数位数)这里的Number就是A列的数字,Num_digits则可能是-1、-2、-3三种情况,故重点就需要计算这个数值。
方法一:LOOKUP函数组合ROUND函数
为了便于理解,我们将这里的要求拆成一个辅助表,即将要求拆分成三个区间,100到1000之间,对应位数-1,1001到10000之间,对应位数-2,10000以上,对应位数-3,每一个区间都对应一个位数,按升序进行排列,在D列填写上每一个区间的起始数值。
函数公式“=ROUND(A2,LOOKUP(A2,$D$2: $D$4,$f$2: $f$4))”
公式解读:这里通过LOOKUP函数在前面建立的辅助表,通过A列的数据去匹配D列中的数据中查询出对应的F位数,最后再通过ROUND函数进行四舍五入,注意的是固定数据源需要添加绝对引用,
辅助表的数据也可以直接替换成“=ROUND(A2,LOOKUP(A2,{100,1000,10000},{-1,-2,-3}))”,即将辅助表里D列和F列的数据直接在公式里以数组的形式体现,这样就不需要建立辅助表。
方法二:MATCH+ROUND函数
MATCH函数获取查找值在区域中的排位,语法为“MATCH(查找值,区域,查找模式) ”,这里的目的就是为了得到“-1、-2、-3”这三个数字,故,这里依然可以将这三个区间的起始值设为MATCH函数的查找区域,A列的数字作为查找值。
在MATCH函数里查找模式分为三种:
- 0就是精确查找,数据源不做要求
- 1就是模糊查找,数据源升序
- -1也是模糊查找,数据源降序
在这显然使用的是模糊查找,查找区域设置为升序排列,故查找模式为1,省略不输入,默认模糊查找。
MATCH(A2,{100;1000;10000})返回出A列数字在查找区域中对应的位置,在函数公式前面输入“-”,则得到对应的负位数。
完整公式为“=ROUND(A2,-MATCH(A2,{100;1000;10000}))”,计算结果同ROUND+LOOKUP组合函数返回的结果。
方法三:ROUND组合IF函数
这个公式相对比较好理解,完整公式为:=ROUND(A2,IF(A2>10000,-3,IF(A2>1000,-2,IF(A2>100,-1))))
就是在ROUND函数里使用IF函数来判断A列数字的大小,如果大于10000,则返回-3,否则如果大于1000则返回-2,否则返回-1。
使用IF函数好理解,但就要嵌套次数太多,容易弄错关系,这个要求有清晰的逻辑关系。
在实际的工作中,至于用哪一种,就看个人的习惯和爱好了,没有对与错,喜欢就好。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/78312.html