前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式来了!求3个数中最接近的2个数的平均值

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

作者头像
fanjy
发布2022-04-13 14:12:40
1.3K0
发布2022-04-13 14:12:40
举报
文章被收录于专栏:完美Excel

标签: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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档