需求:计算组内排名,例如B组最大值是99,则D4应返回1,A组最小是53,则D15返回6

文档示意:

公式(D4单元格):

'=SUMPRODUCT(($B$4:$B$15=B4)*($C$4:$C$15>C4))+1

公式讲解:

1、sumproduct:给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和

sumproduct理解示例:

2、$B$4:$B$15=B4:组别判断,等于B4,返回true,否则返回false

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

3、$C$4:$C$15>C4:数值大小判断,大于C4,返回true,否则返回false

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

4、($B$4:$B$15=B4)*($C$4:$C$15>C4):TRUE=1,FALSE=0

两个数组对应位置的数据相乘然后加和

{0;0;0;0;0;0;0;0;0;0;0;0},求和等于0,表示在该组没有比C4更大的数据

5、SUMPRODUCT(($B$4:$B$15=B4)*($C$4:$C$15>C4))+1

=0+1=1

对应组没有比该数据更大的,因此是第一名

6、公式下拉得到所有数据的最终组内排名结果

用sumproduct函数计算组内排名相关推荐

  1. mysql分组后组内排名_SQL实现group by 分组后组内排序

    在一个月黑风高的夜晚,自己无聊学习的SQL的时候,练习,突发奇想的想实现一个功能查询,一张成绩表有如下字段,班级ID,英语成绩,数据成绩,语文成绩如下图 实现 查询出 每个班级英语成绩最高的前两名的记 ...

  2. 窗口分析函数_9_计算组内总和的占比

    计算组内总和的占比 需求描述 需求:计算EMP表按照deptno分组,计算SAL在每组总和中的占比 解决方法:通过每行的SAL除以每组的SUM(SAL)来实现. 注: 数据库数据集SQL脚本详见如下链 ...

  3. MySQL 自定义函数设置执行时间_mysql自定义函数计算时间段内的工作日(支持跨年)...

    ① 同一年的情况下计算工作日函数 CREATE DEFINER=`root`@`%` FUNCTION `WORKDAYSONEYEAR`(`datefrom` datetime,`dateto` d ...

  4. mysql工作日_mysql自定义函数计算时间段内的工作日(支持跨年)

    ① 同一年的情况下计算工作日函数 CREATE DEFINER=`root`@`%` FUNCTION `WORKDAYSONEYEAR`(`datefrom` datetime,`dateto` d ...

  5. Tableau技巧(四)排名及组内排名

    List item 2021年02月22日(UTC+8) 数据源:Tableau自带超市集 Tableau版本:2020.3 参考:举个栗子 制作序号胶囊并转换为离散 公式:index() 将类别,子 ...

  6. mysql 怎么实现组内排名_MySQL 实现排名(分组排名)

    在MYSQL的最新版本MYSQL8已经支持了排名函数RANK,DENSE_RANK和ROW_NUMBER.但是在5.*版本中还不支持这些函数,只能自己实现.实现方法主要用到了条件判断语句(CASE W ...

  7. mysql分组取出每组地一条数据_MYSQL实现分组排序并取组内第一条数据

    一.需要实现分组排序并且取组内状态优先级最高的数据 有一张这样的数据表, 需求是根据error_type分组然后取status最小的第一条数据 第一种写法: select t.* from ( sel ...

  8. 【成绩统计】Excel计算年级学校排名和班级排名,并统计各班各科前1050名学生人数

    本文以"好分数"系统导出的期末考试成绩数据为基础,进行统计分析. 拿到表,首先整理下数据,去除无关字段数据,保留关键字段. 一开始的时候,,小编直接使用上表给出的"学校排 ...

  9. Excel中Sumproduct函数的使用方法

    1.sumproduct函数的含义 1 1.Sumproduct函数的适用范围,在给定的几组数组中,然后把数组间对应的元素相乘,最后返回乘积之和. 从字面上可以看出,sumproduct有两个英文单词 ...

最新文章

  1. 报名 | 第二届网上行为社会网分析学术研讨会
  2. Framebuffer 机制
  3. oracle开放查询表权限_oracle 查询当前用户的表和其他用户的表
  4. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated
  5. 真香!用 4K 高清显示器写代码,包邮送一台!
  6. java soot_正确执行3个地址代码的SOOT API
  7. 工作311:uni-携带当前参数跳转页面传值
  8. concurrently同时开启多个监听服务
  9. 生活就是要开“新”,攀升电脑陪你一起大胆想象
  10. 华为鸿蒙系统自动驾驶,华为高阶自动驾驶 + 华为鸿蒙 OS 车机系统体验
  11. Java学习---JDK的安装和配置
  12. 中保车服灾备云,为保险公司“上保险”
  13. 我,马斯克:地球首富却要葬在火星
  14. Hudi-通过Hive查询hudi表数据
  15. python模拟登录163邮箱_Python实现模拟登录网易邮箱的方法示例
  16. 自定义文件格式注册和图标设置
  17. 如何解决Vmware Ubuntu网络问题(适用于锐捷客户端用户)
  18. 怎样大幅度地提升硬盘的速度
  19. 形状文法--建筑风格分类总结
  20. SqlServer跨库查询

热门文章

  1. Oracle PDB save state
  2. 【正则表达式】字符匹配篇
  3. FL水果最新21版及fl studio怎么设置中文教程
  4. sqlserver完整恢复模式,简单恢复模式
  5. 14.3 GRE协议基础配置
  6. 芯片40174的作用
  7. nacos ErrCode:503, ErrMsg:server is DOWN now, please try again later!
  8. mac必须安装的开发软件(1)
  9. 2022年,我们为什么要学习C++?(文末附完整C++后端学习路线)
  10. python的 a,b=b,a+b 和 a=b b=a+b 的区别--斐波那契实例