Excel公式来了!求3个数中最接近的2个数的平均值

2022-04-13 14:12:40 浏览数 (3)

标签:Excel公式练习

工作表中有3列数字,要求每3个数字中最接近的2个数字的平均值,如下图1所示。

图1

例如,上图1中工作表第3行的数字10、2、19,最接近的2个数字是10和2,其平均值是(10 2)/2=6。

如何编写公式?

由于只有3个数字,首先想到的就是IF函数了。

很显然,3个数中大小处于中间的数一定是所要求的2个数之一,还有一个数就是与中间数相比,最接近中间数的数。

使用MEDIAN函数求得中间数:

MEDIAN(B3:D3)

然后,将3个数依次与中间数比较,除0以外,绝对值最小的数就是另外一个数了。

这样,完整的公式为:

=AVERAGE(MEDIAN(B3:D3),IF(MEDIAN(B3:D3)=B3,IF(ABS(B3-C3)<ABS(B3-D3),C3,D3),IF(MEDIAN(B3:D3)=C3,IF(ABS(C3-B3)<ABS(C3-D3),B3,D3),IF(ABS(D3-B3)<ABS(D3-C3),B3,C3))))

还可以使用MAX/MIN/MEDIAN函数组合公式:

=IF(MAX(B3:D3)-MEDIAN(B3:D3)>MEDIAN(B3:D3)-MIN(B3:D3),AVERAGE(MEDIAN(B3:D3),MIN(B3:D3)),AVERAGE(MEDIAN(B3:D3),MAX(B3:D3)))

下面的公式也可以实现且更健壮:

=IF(COUNTIF(B7:D7,AVERAGE(B7:D7))=1,"-",IF(COUNTIF(B7:D7,">"&AVERAGE(B7:D7))=1,(SUM(B7:D7)-MAX(B7:D7))/2,(SUM(B7:D7)-MIN(B7:D7))/2))

将上面的公式稍微转换一下,得到下面的公式:

=(SUM(B3:D3)-CHOOSE(COUNTIF(B3:D3,">"&AVERAGE(B3:D3)),MAX(B3:D3),MIN(B3:D3)))/2

似乎是在写公式,实际上是在考数学!!!

你还有更简洁的公式吗?欢迎留言。

0 人点赞