繁体   English   中英

在Excel中舍入到一组值

[英]Rounding to a set of values in Excel

我有一组要舍入到给定值的数据:

示例:设置值为:10000,5000,2500,2000,1000,500,250,200,100,50,25,20,10,5,2,1

我想四舍五入到最接近的值(而不是向上/向下舍入)。 如果值在中间-选项之一(不在乎哪个)。

26-> 25 3.5-> 2或5

谢谢

A1:A16数组,并且您想匹配C1的最接近值,可以使用此数组公式

D1:
=INDEX($A$1:$A$16,MATCH(MIN(ABS($A$1:$A$16-C1)),ABS($A$1:$A$16-C1),0))

Ctrl+Shift+Enter

沿D列复制并粘贴以匹配C列中的值。

在此处输入图片说明

您可以通过vlookup做到这一点

建立一张桌子

       |      A |      B
-------+--------+--------
     1 |      0 |      1
     2 |      1 |      2
     3 |      2 |      5
     4 |      5 |     10
     5 |     10 |     20
     6 |     20 |     25
     7 |     25 |     50
     8 |     50 |    100
     9 |    100 |    200
    10 |    200 |    250
    11 |    250 |    500
    12 |    500 |   1000
    13 |   1000 |   2000
    14 |   2000 |   2500
    15 |   2500 |   5000
    16 |   5000 |  10000

A20: 320
B20: =VLOOKUP(320,$A$1:$B$16,1,TRUE) --> 250
C20: =VLOOKUP(320,$A$1:$B$16,2,TRUE) --> 500
D20: =(B20+C20)/2 --> 375
E20: =IF(A20 < D20;B20;C20)

在E20中,您将找到您的结果

未测试

我怀疑是否需要一个数组公式,尽管假设序列在A1到A16(降序排列)中,对于大于1000数字将返回#N/A ,对于小于1数字将返回0

 =IF(INDEX(A:A,MATCH(C1,A:A,-1))-C1<C1-INDEX(A:A,MATCH(C1,A:A,-1)+1),INDEX(A:A,MATCH(C1,A:A,-1)),INDEX(A:A,MATCH(C1,A:A,-1)+1))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM