一、遇到的问题
老板安排了一个紧急的报表任务,报表源数据如下图1,要求把不同岗位和不同级别的工龄中位值分别计算出来统计成表格。虽然不会,很着急,但是身为打工人也只能老老实实去查,去学了。
图1
二、寻找解决方案
首先求助度娘,打工人必备技能,百度回答:
万能的excel自带求中位数的函数是median函数。语法结构为:
=MEDIAN(数值1,数值2,......) //用于计算多个数值之间的中位数
那么在更复杂的条件下求中位数呢?我们可以参考一下以下公式:
=MEDIAN(IF((条件1*条件2,数值1:数值2)
其中* 表示and 与关系,+ 表示 or 或关系。
套入老板的要求我们可以得到以下公式:
=MEDIAN(IF(($A$2:$A$162=E2)*($B$2:$B$162=F2),$C$2:$C$162))
公式说明:满足在A列第二行到162行内数值等于E2且B列第二行到第162行内数值等于F2条件的行数据,计算这些行C列值的中位数。
特别注意一点是,输入完公式后需要按下 ctrl+shift+回车键,这样会在收尾生成一对花括号,否则该值会显示为0.
最终输出不同岗位不同级别的中位数表结果如下表所示,终于完成啦啦啦。
不积跬步,无以至千里