输出结果到确切的数字

我需要创buildExcel公式,从平均结果输出最接近的集合数。 我不确定我是否可以解释得那么好,所以我举了一个例子:

  1. 这些是我的步骤值:

    1,0 1,3 1,7 2,0 2,3 2,7 3,0 3,3 3,7 4,0 
  2. 我正在使用这个公式:

     =AVERAGE(B2:B3:B4:B5) 
  3. 如果字段B2,B3,B4和B5的值是:

     3,3 2,0 1,3 1,0 

    平均值为1,9

  4. 我需要的是,在这个领域的Excel输出放2,0而不是1,9,因为这是从上面列出的值(在1以下)最接近的步骤值。

  5. 如果这个值在两个阶段值之间,我需要把它作为更高的值输出(如果它的值是1,5,我需要它是1,7 – 不是1,3)。

有没有人有这个想法如何实现这一目标?

您可以使用下面的数组公式(使用Ctrl + Shift + Enter )find最接近的值(以及更高的可能值):

 =IFERROR(INDEX(A1:A10,MATCH(C4+MIN(ABS(A1:A10-C4)),A1:A10,0)),C4-MIN(ABS(A1:A10-C4))) 

A1:A10 – 步数值(顺序无关紧要)

C4 – 平均

Index / match组合检查是否存在较高值(最短距离),如果不存在,则返回较低值。

我假设您的区域设置使用逗号作为小数点分隔符。 我的设置使用小数点,所以请在适应您的场景时进行调整。

input步骤值到单元格范围内,按升序sorting。 将范围名称“Steps”分配给该范围。 如果在单元格B7中计算平均值,则可以使用此公式根据步骤达到调整的平均值。

 =IF(LOOKUP(ROUND(B7,1),Steps)=ROUND(B7,1),ROUND(B7,1),LOOKUP(ROUND(B7,1)+IF(MOD(ROUND(B7,1),1)=0.8,0,0.3),Steps)) 

该屏幕截图显示了一些不同的情况。 请注意1.8被调整到1.7,而不是2.0

在这里输入图像说明

假设你的值按升序sorting,你的公式是:
=INDEX(B2:B11,IFERROR(MATCH(<average>,B2:B11,0),MATCH(<average>,B2:B11,1)+1))
你的平均公式或包含结果的单元格的引用在哪里?