Excel中如何根据销售额列最大值返回对应产品名称
按最大销售额返回对应产品名称的Excel函数实现方案
下面是几种实用的Excel函数组合,满足你在F2、F3单元格返回对应产品名称的需求:
1. 经典组合:INDEX + MATCH(适配所有Excel版本)
适合C列只有一个最大值,或者只需要返回第一个出现的最大值对应产品的场景:
- 公式(F2单元格输入):
=INDEX(B:B,MATCH(MAX(C:C),C:C,0)) - 逻辑:
MAX(C:C)提取C列最大销售额,MATCH定位该值在C列的首次出现位置,最后INDEX从产品列(假设是B列)取出对应名称。如果有多个相同最大值,只返回第一个匹配项。
2. 简化方案:XLOOKUP(仅Excel 365/2021及以上版本)
XLOOKUP是更直观的查找函数,用法更简洁:
- 单个结果:
=XLOOKUP(MAX(C:C),C:C,B:B) - 多个结果(自动溢出到F2、F3等单元格):
=FILTER(B:B,C:C=MAX(C:C)) - 逻辑:前者直接匹配最大销售额并返回对应产品;后者筛选出所有销售额等于最大值的产品,自动在单元格中逐个显示,无需手动修改公式。
3. 多结果适配:INDEX + SMALL + IF(适配旧版Excel的多最大值场景)
如果需要在F2、F3分别返回第1、第2个最大值对应的产品(旧版Excel无溢出功能时可用):
- F2单元格公式:
=INDEX(B:B,SMALL(IF(C:C=MAX(C:C),ROW(C:C)),1)),输入后按Ctrl+Shift+Enter确认(新版Excel直接回车即可) - F3单元格公式:
=INDEX(B:B,SMALL(IF(C:C=MAX(C:C),ROW(C:C)),2)) - 逻辑:
IF筛选出所有销售额等于最大值的行号,SMALL依次提取第n个行号,最后INDEX从产品列取出对应名称。
内容的提问来源于stack exchange,提问作者Asmar Wah
相关产品推荐
相关产品推荐

