如何提取Excel分类下最高销量对应的商品名 是否可用VLOOKUP实现
分类最高销量对应饮品名称的实现方案
VLOOKUP可行性说明
可以用VLOOKUP实现,但需要通过数组调整列顺序,且默认仅返回第一个命中的最高销量饮品。
前置说明
先统一预设你的数据范围:
- A6:A16:存储饮品名称
- C6:C16:存储饮品分类(你给出的分类区域)
- D6:D16:存储对应饮品的销量
你当前用到的最高销量获取公式为MAXIFS(D6:D16, C6:C16, "指定分类"),后续方案都基于这个值做匹配。
具体实现方法
方案1:VLOOKUP实现(兼容旧版Excel)
公式如下,365之前的Excel版本输入完成后需要按Ctrl+Shift+Enter触发数组计算:
=VLOOKUP(MAXIFS(D6:D16,C6:C16,"指定分类"),IF({1,0},D6:D16,A6:A16),2,0)
实现逻辑:通过
IF({1,0},D6:D16,A6:A16)临时把销量列和饮品名称列调换顺序,满足VLOOKUP首列查找的要求,最后一个参数0代表精确匹配。如果同一分类下有多个饮品销量同为最高值,只会返回数据区域里排序靠前的对应名称。
方案2:INDEX+MATCH组合(更推荐,兼容性更强)
不需要调整列顺序,逻辑更稳定,出错概率更低,旧版Excel同样需要数组回车生效:
=INDEX(A6:A16,MATCH(MAXIFS(D6:D16,C6:C16,"指定分类"),D6:D16*(C6:C16="指定分类"),0))
方案3:Excel 365/2021及以上版本专属写法
用XLOOKUP逻辑更直观,不需要额外数组操作:
=XLOOKUP(MAXIFS(D6:D16,C6:C16,"指定分类"),FILTER(D6:D16,C6:C16="指定分类"),FILTER(A6:A16,C6:C16="指定分类"))
如果需要返回同一分类下所有销量最高的饮品名称,可以在外层套TEXTJOIN("、",TRUE,)把多个结果拼接起来。
内容的提问来源于stack exchange,提问作者difab
相关产品推荐
相关产品推荐

