今天收到一个 HR 读者特殊求助问题,要计算员工的工资在所有人当中的百分比排名,这样在年底调薪的时候可以根据公司政策进行优化。
案例:下图 1 是公司各员工的工资表,为了相对公平,
规定:
如果工资高于 90% 的人,则会适当减小薪水涨幅;
如果工资低于 10% 的人,则要考虑稍微加大涨幅。
要求:
在数据表中用颜色自动高亮显示符合两种比例的人;
分别计算出 90% 和 10% 的临界工资值
效果如下图 2 所示。
解决方案:1. 选中数据表除标题外的区域 --> 选择菜单栏的“开始”-->“条件格式”-->“新建规则”
2. 在弹出的对话框中选择“使用公式确定要设置格式的单元格”--> 输入以下公式 --> 点击“格式”按钮
=PERCENTRANK($B$2:$B$13,$B2)>=0.9
公式释义:
PERCENTRANK($B$2:$B$13,$B2):
该函数的作用是将某个数值在数据集中的排位以百分比的形式返回;
语法为 PERCENTRANK(array,x,[significance])
array:数值数组或数值数据区域;
x:需要得到其排位的值;
[significance]:可选, 用于标识返回的百分比值的有效位数的值。如果省略,则 PERCENTRANK 使用 3 位小数 (0.xxx)
如果用大家听得懂的话来解释,区域 $B$2:$B$13 中小于 $B2 的值有 10 个,而大于它的值只有 1 个,因此结果为 10/(10+1)=0.909
...>=0.9:如果上述结果 >=0.9,即超过90%,则触发条件
* 请注意:参数中的第一个区域要绝对引用,而第二个参数要列绝对行相对引用。
3. 在弹出的对话框中选择所需的填充色 --> 点击“确定”
4. 点击“确定”。
5. 保持选中数据表区域 --> 再次选择菜单栏的“开始”-->“条件格式”-->“新建规则”
6. 选择“使用公式确定要设置格式的单元格”--> 输入以下公式 --> 点击“格式”
=PERCENTRANK($B$2:$B$13,$B2)<=0.1
公式释义:
公式与之前一样,只是判断结果是否 <=0.1,即低于 10% 触发条件
7. 选择另一种填充色 --> 点击“确定”
红色部分为工资高于 90% 的人,而绿色则是工资低于 10% 的。
8. 在 C 列中输入以下公式验证一下结果:
=PERCENTRANK($B$2:$B$13,$B2)
如果要计算 90% 和 10% 的临界值,就需要用到另外一个函数。
9. 在 D2 单元格中输入以下公式 :
=PERCENTILE(B2:B13,0.9)
公式释义:
PERCENTILE 相当于前一个函数的逆操作,语法为 PERCENTILE(array,k);
含义是返回 array 的第 k 个百分点的值
10. 在 E2 单元格中输入以下公式:
=PERCENTILE(B2:B13,0.1)