Excel函数返回最大两个值

我期望得到一些帮助,我相信这是一个选项,但我很遗憾不知道如何实现。

基本上,我想要一个从C21:C50开始的公式,并寻找前两个值。 根据哪两个是顶部,它将引用B列中的名称,并在另一个单元格(公式所在的单元格)中填充该值。

示例图像

如果你看图像,在主要领域,我们会有史蒂夫。 次要的是艾伦。

这是任何人都可以帮忙吗? 我只是迷路:(

尝试

=INDEX($B$3:$B$7,MATCH(LARGE($C$3:$C$7,ROW(A1)),$C$3:$C$7,0)) 

单元格B3中的Bob和单元格C9中的“主”公式。 复制到单元格C10。

在这里输入图像说明

如果处理整数,你可以简单的添加+1/ROW([range])以避免双精度:

 =INDEX($B$3:$B$7,MATCH(LARGE($C$3:$C$7+1/ROW($C$3:$C$7),ROW(A1)),$C$3:$C$7+1/ROW($C$3:$C$7),0)) 

这是一个数组公式,必须用Ctrl + Shift + Enter确认


但是,这可能会失败,像5.01或4.99的数字。 对于这种情况,只需结合RANK.EQ使用它:

 =INDEX($B$3:$B$7,MATCH(LARGE(RANK.EQ($C$3:$C$7,$C$3:$C$7,1)+1/ROW($C$3:$C$7),ROW(A1)),RANK.EQ($C$3:$C$7,$C$3:$C$7,1)+1/ROW($C$3:$C$7),0)) 

这是一个数组公式,必须用Ctrl + Shift + Enter确认


步骤如图:

例

第一个表显示了用于LARGEMATCH1/ROW的直接添加,如果双精度存在,则获得该行(所以INDEX可以select正确的)

第二个表格显示了值是如何被RANK.EQ的等级replace的,然后像第一个表一样处理。

第三个(灰色)表显示,如果将第一个公式应用于第二个表(如何展示排名),会发生什么情况。


对于Excel 2007,用RANK.EQ($C$3:$C$7,$C$3:$C$7,1)replaceRANK.EQ($C$3:$C$7,$C$3:$C$7,1) RANK($C$3:$C$7,$C$3:$C$7,1)


如果你还有任何问题,只要问:)