Excel能否基于唯一Key查找数据,返回最大Load编号对应的单条符合条件记录
该需求完全可以实现,以下是3种常用的Excel实现方案
方案1:Excel 365/2021及以上版本(动态数组公式,最简单)
假设原始数据存放在A1:E7单元格区域,输出表格的Key列首单元格为F2:
- 提取唯一Key:在F2单元格输入
=UNIQUE(B2:B7),按回车后会自动溢出Tom、Jan两个不重复的Key值 - 匹配Size字段:在G2单元格输入
=XLOOKUP(MAXIFS($A:$A,$B:$B,F2),$A:$A,$C:$C,""),按回车自动溢出对应数值 - 匹配Color字段:在H2单元格输入
=XLOOKUP(MAXIFS($A:$A,$B:$B,F2),$A:$A,$D:$D,"") - 匹配Type字段:在I2单元格输入
=XLOOKUP(MAXIFS($A:$A,$B:$B,F2),$A:$A,$E:$E,"")
即可直接得到你需要的输出结果。
方案2:Excel 2019及更早低版本(数组公式)
- 先提取唯一Key:选中原始数据的B2:B7区域,点击「数据」选项卡下的「删除重复值」,将得到的唯一Key粘贴到F2、F3单元格
- 匹配Size字段:在G2单元格输入
=INDEX($C:$C,MATCH(MAX(IF($B:$B=F2,$A:$A,0)),$A:$A,0)),输入完成后按Ctrl+Shift+Enter组合键触发数组计算 - Color和Type字段只需要把上述公式中INDEX的引用列C,改为对应列D、E即可,下拉填充所有公式就能得到结果。
方案3:无代码操作(Power Query)
操作步骤:选中原始数据区域,点击「数据」选项卡下的「从表格/区域」加载到Power Query编辑器,选中「Key」列后点击「分组依据」,分组依据选「Key」,新列名自定义,操作选择「所有行」,确认后添加自定义列,输入公式
=Table.Max([自定义列名],"Load"),再扩展自定义列的字段,删除多余的Load列后即可导出结果,全程可视化操作不需要写公式。
内容的提问来源于stack exchange,提问作者Edgar Nava
相关产品推荐
相关产品推荐

