打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel公式技巧:获取最后5个数值中3个数的平均值
userphoto

2022.09.12 四川

关注

excelperfect

最近,使用工作表记录了员工日常的表现,表现是用分数来评估的。然而,记录并不连续,并且每位员工记录的次数又会有不同,如下图1所示。

1

我想得到每位员工最后5次得分中,去除最高分和最低分后的平均值。当然,如果该名员工得分次数不足5次,则取平均值。

首先,我们需要确定最后的5位数值。但是,每位员工得分的次数不一样,且输入也不一定是连续的,例如代号A的员工最后5位数值位于B2:F2,而代号B的员工最后5位数值位于K3:Q3,一个起始于第2列,一个起始于第11列,如何获取这个起始位置是关键。

此时,COLUMN函数与比较判断相配合又派上用场了。

COLUMN(A2:Z2)*(A2:Z2<>'')

将会得到:

{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26}*{TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE}

这样,就会提取出所有含有数值的列的列号,而空单元格的列号则对应为0

{1,2,3,4,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

同样,对于:

COLUMN(A3:Z3)*(A3:Z3<>'')

会得到:

{1,2,3,4,5,6,0,0,9,10,11,0,0,14,15,16,17,0,0,0,0,0,0,0,0,0}

……

这样,我们使用LARGE函数取这个数组中第5大的值,也即最后5位数值的起始位置:

LARGE(COLUMN(A3:Z3)*(A3:Z3<>''),5)

获得起始位置后,我们使用INDEX函数返回该位置的单元格:

INDEX(LARGE(COLUMN(A3:Z3)*(A3:Z3<>''),5))

再与单元格Z2组合,得到最后5位数值所在的单元格区域:

Z2:INDEX(LARGE(COLUMN(A3:Z3)*(A3:Z3<>''),5))

注意,这里将最后一个单元格放在了前面,以确定要计算的单元格区域。

以上,就是公式的核心部分。理解了这部分,后面就好办了。

求该区域的数值之和,然后减去其中的最大值和最小值,除以3,就是平均值了。单元格2中完整的公式如下:

=IF(COUNT(B2:Z2)<5,AA2,(SUM((Z2:INDEX(A2:Z2,LARGE(COLUMN(A2:Z2)*(A2:Z2<>''),5))))-LARGE((Z2:INDEX(A2:Z2,LARGE(COLUMN(A2:Z2)*(A2:Z2<>''),5))),1)-SMALL((Z2:INDEX(A2:Z2,LARGE(COLUMN(A2:Z2)*(A2:Z2<>''),5))),1))/3)

向下拖拉复制公式至数据末尾。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
简单入门!教你在Excel上使用函数提高工作效率
不会这些操作,都不好意思说精通Office(一)
揭秘Excel中的“平均值”公式:轻松计算数据中心的秘密武器
VLOOKUP函数的使用方法(初级篇)
Excel发票实例学函数:Len、Rept、Mid、Column、NumberString
我1个小时也写不出来的Excel公式,函数高手只用了30秒!服气!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服