用点接地气的 Excel 函数来计算组内排名百分比

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

之前教了一个计算在区域中的百分比排名的案例,用到了两个专门计算百分比的函数。


有同学问,有没有常用一点的函数解法?


方法很多,简单粗暴用 if 的公式就不写了,讲点稍微高级的。


案例:


下图 1 是公司所有员工的工资表,请算出员工的工资超过了公司百分之多少的人。


效果如下图 2 所示。


解决方案:


1. 在 C2 单元格中输入以下公式 --> 下拉复制公式:

=SUMPRODUCT(($B$2:$B$13<B2)*1)/(COUNT($B$2:$B$13)-1)


公式释义:

  • 计算百分比排名的逻辑是:用列表中小于自己的个数/除自己以外的总数。那么再来理解公式就不难了;
  • SUMPRODUCT(($B$2:$B$13<B2)*1):
    • 该函数的作用是乘积求和,但是应用范围之广,功能之强大,令我写过很多案例;
    • $B$2:$B$13<B2:判断区域 $B$2:$B$13 中的值是否 <B2,生成一组由 true 和 false 组成的数组;
    • ...*1:将上述数值的值 *1,使得逻辑值转换成可以计算的数值;
    • SUMPRODUCT(...):对数组求和,即可计算出区域中 <B2 的个数;
  • COUNT($B$2:$B$13)-1:计算区域内单元格的总数,然后 -1,将这个值作为分母;
  • 二者相除就是所需的结果


* 请注意参数的绝对和相对引用。有关 sumproduct 函数的更多案例,可以在历史记录里搜索。


2. 为了便于理解,我们可以分别选中分子分母的公式 --> 按 F9,来验证一下计算结果。


3. 将 C 列的数值设置为百分比格式。

举报
评论 0