输出结果到确切的数字
我需要创buildExcel公式,从平均结果输出最接近的集合数。 我不确定我是否可以解释得那么好,所以我举了一个例子:
-
这些是我的步骤值:
1,0 1,3 1,7 2,0 2,3 2,7 3,0 3,3 3,7 4,0
-
我正在使用这个公式:
=AVERAGE(B2:B3:B4:B5)
-
如果字段B2,B3,B4和B5的值是:
3,3 2,0 1,3 1,0
平均值为1,9
-
我需要的是,在这个领域的Excel输出放2,0而不是1,9,因为这是从上面列出的值(在1以下)最接近的步骤值。
-
如果这个值在两个阶段值之间,我需要把它作为更高的值输出(如果它的值是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))
你的平均公式或包含结果的单元格的引用在哪里?