如何在Excel中引用某列最大的三个值及对应列的关联文本?
提取Excel中Top3数值及对应公司的解决方法
方法一:Excel 365/2021 专属(动态数组)
这种方式一步到位,不用下拉填充:
- 单独提取Top3公司名称(Sheet1的A1单元格输入):
=TAKE(SORTBY(Sheet2!A:A, Sheet2!B:B, -1), 3) - 单独提取对应数值并格式化(Sheet1的B1单元格输入):
=TEXT(TAKE(SORTBY(Sheet2!B:B, Sheet2!B:B, -1), 3), "$#,##0.0m") - 直接合并成「公司($数值)」格式(Sheet1的A1输入):
=TAKE(SORTBY(Sheet2!A:A&" ($"&TEXT(Sheet2!B:B,"#,##0.0m")&")", Sheet2!B:B, -1), 3)
方法二:旧版Excel 通用方案
如果你的Excel没有动态数组功能,用以下公式:
假设Sheet1的A1:A3放公司名,B1:B3放数值:
- 提取公司名(Sheet1的A1输入,下拉到A3):
=INDEX(Sheet2!$A:$A, MATCH(LARGE(Sheet2!$B:$B, ROW(A1)), Sheet2!$B:$B, 0)) - 提取并格式化数值(Sheet1的B1输入,下拉到B3):
=TEXT(LARGE(Sheet2!$B:$B, ROW(A1)), "$#,##0.0m")
- 特殊情况处理:如果Sheet2的B列有重复数值,MATCH会返回第一个匹配项。要精准定位所有重复值的对应公司,替换公司名公式为:
=INDEX(Sheet2!$A:$A, AGGREGATE(15, 6, ROW(Sheet2!$B:$B)/(Sheet2!$B:$B=LARGE(Sheet2!$B:$B, ROW(A1))), 1))
内容的提问来源于stack exchange,提问作者imnottellingyou
相关产品推荐
相关产品推荐

