Excel中如何根据Source Rank保留每个Value对应的最优排名行?
Excel按分组保留最小Source Rank行的实现方案
假设你的原始数据结构为:A列是Source Rank,B列是Value,第一行是列标题,数据从第2行开始,以下提供3种可直接落地的实现方式,按需选择即可。
方法1:数据透视表(新手首选,零公式零出错)
- 选中全部原始数据区域,点击顶部菜单栏「插入」→「数据透视表」,选择透视表存放位置(推荐选新工作表,避免覆盖原数据)
- 在右侧透视表字段配置面板,将
Value字段拖入「行」区域,将Source Rank字段拖入「值」区域 - 点击值区域的
计数项:Source Rank,选择「值字段设置」,将计算类型修改为「最小值」,点击确定后即可直接得到你需要的结果:每个Value唯一对应其最小的Source Rank值。
方法2:函数公式(适合数据动态更新的场景)
- 如果你使用的是Excel 365/2021及以上版本:
- 在空白单元格输入
=UNIQUE(B2:B[你的数据最后一行行号]),比如数据到第8行就输=UNIQUE(B2:B8),公式会自动溢出所有不重复的Value值(即A、B、C) - 在第一个提取出的Value右侧单元格输入
=MINIFS(A:A,B:B,D2)(假设不重复Value从D2单元格开始),下拉填充即可自动匹配每个Value对应的最小Source Rank。
- 在空白单元格输入
- 如果你使用的是旧版Excel,没有
UNIQUE和MINIFS函数:- 手动在空白列输入所有不重复的Value值(A、B、C)
- 在对应Value右侧单元格输入数组公式
=MIN(IF(B:B=D2,A:A)),输入完成后按Ctrl+Shift+Enter三键确认数组公式,下拉填充即可得到结果。
方法3:排序+辅助列筛选(直接在原数据上操作)
- 选中全部数据区域,点击顶部「数据」选项卡→「排序」,第一层级排序关键字选
Value,次序选升序;点击「添加条件」,第二层级排序关键字选Source Rank,次序选升序,点击确定。此时相同Value的行会连续排列,且每个Value分组的第一行就是Source Rank最小的目标行。 - 在数据旁新增一列辅助列,在辅助列第2行(和第一行数据对齐)输入
=IF(B2=B1,"删除","保留"),下拉填充到所有数据行。公式会自动标记每个Value分组的第一行为保留,其余同Value的重复行标记为删除。 - 选中辅助列,按
Ctrl+Shift+L开启筛选,筛选出内容为「删除」的行,批量删除后,剩余的行就是你需要的结果,最后删除辅助列即可。
操作提示:所有涉及原数据修改的操作,建议先复制一份原数据做备份,避免误操作导致数据丢失。
内容的提问来源于stack exchange,提问作者excel_noob
相关产品推荐
相关产品推荐

