四舍五入到Excel中的一组值

四舍五入到Excel中的一组值,excel,Excel,我有一组数据,我想将其四舍五入到给定的一组值: 例如: 设定值为:1000050002500200001000500250200100,50,25,20,10,5,2,1 我想四舍五入到最接近的值(而不是向上/向下四舍五入)。 如果该值位于中间选项之一(不关心哪个), 26->25 3.5->2或5 谢谢你你可以用vlookup做这个 建一张桌子 | A | B -------+--------+-------- 1 | 0 | 1

我有一组数据,我想将其四舍五入到给定的一组值:

例如: 设定值为:1000050002500200001000500250200100,50,25,20,10,5,2,1

我想四舍五入到最接近的值(而不是向上/向下四舍五入)。 如果该值位于中间选项之一(不关心哪个),

26->25 3.5->2或5


谢谢你

你可以用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)
| 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,对)->250
C20:=VLOOKUP(320美元,A$1:$B$16,2,正确)->500
D20:=(B20+C20)/2-->375
E20:=如果(A20

在E20中,您将发现您的结果

您可以通过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)
| 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,对)->250
C20:=VLOOKUP(320美元,A$1:$B$16,2,正确)->500
D20:=(B20+C20)/2-->375
E20:=如果(A20

在E20中,您将在
A1:A16
中找到您的结果

数组,如果您想匹配最接近的
C1
,可以使用此数组公式

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


A1:A16
中使用数组,如果要匹配最接近的
C1
,可以使用此数组公式

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

未经测试

我怀疑是否需要数组公式,尽管假设序列在A1到A16之间(按降序排序),对于
1000
以上的数字,下面将返回
\N/A
,对于C1中
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))
=IF(索引(A:A,匹配(C1,A:A,-1))-C1未测试

我怀疑是否需要数组公式,尽管假设序列在A1到A16之间(按降序排序),对于
1000
以上的数字,下面将返回
\N/A
,对于C1中
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))

=IF(索引(A:A,匹配(C1,A:A,-1))-C1I尝试了你的建议,但运气不佳。出了什么问题?@motiluom你没有将其用作数组公式。你应该编辑它,然后按Ctrl+Shift+Enter。我尝试了你的建议,但运气不佳。出了什么问题?@motiluom你没有将其用作数组公式。你应该编辑它,然后按Ctrl+Shift+Enter