一、根据部门求所选部门最后三天的平均工资

F1单元格中的公式为:

=AVERAGE(OFFSET($C$1,MATCH(1,1/($B$2:$B$18=$E$3),1),,-COUNT(1/($B$2:$B$18=$E$3)),))

公式的含义是以C1单元格为起点,向下偏移3行,向右偏移0行,最后向上取3行1列的数据(6122、3646、2181)然后用average函数即可得到平均值

问题的关键是如何确定所选的部门的最后一个单元格的位置?在此之前,我们先来学习match函数的另一种特殊用法,请看案例。

结论:当查找区域中的所有值都相等时,使用模糊查找,可返回最后一个值的位置


结论:当查找区域中的所有值都相等时,使用精确查找时, 可返回第一个值的位置

那如何构建相同的值呢,我们可以用公式=$B$2:$B$18=$E$1( 需按Ctrl+shift+回车)来判断 B列的部门是否与E1的值相等,如果相等则返回true,否则返回false,这样就形成了一个只有true或false的数组。

其结果为:

{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

再用1除以其结果可得到这样的数组

{1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}

再用match函数的模糊查找即可得到所选部门的最后一个单元格的位置(客服部),最后用offset函数来完成即可

二、根据部门求所选部门的平均工资

F3单元格中的公式为:

=AVERAGE(OFFSET($C$1,MATCH(1,1/($B$2:$B$18=$E$3),1),,-COUNT(1/($B$2:$B$18=$E$3)),))

offset函数的语法结构为:

=offset(参照区域,行数,列数,[高度],[宽度])

即以什么为起点,向下偏移几行(正数),向右偏移几列(正数),向下取几行(正数)和几列的数,

注:负数则向相反的方向偏移。

大家知道这个公式跟上一个公式的区别吗?欢迎大家的分享、评论及留言