在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来做到这一点

build立一个表格

  | 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你会发现你的结果

UNTESTED

我怀疑一个数组公式是必需的,虽然假设系列是在A1到A16(sorting降序)下面将返回#N/A的数字超过10000对于那些小于1在C1:

  =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))