Excel函数返回最多两个值

时间:2016-04-25 23:52:58

标签: excel excel-formula

我希望得到一些功能,我确信这是一个选项,但我遗憾地不知道如何实现。

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

Example Image

如果你看图像,在主要领域,我们有史蒂夫。中学将是艾伦。

这是否有人可以提供帮助?我迷失了:(

2 个答案:

答案 0 :(得分:1)

尝试

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

鲍勃在单元格B3中,而“主要”公式在单元格C9中。复制到单元格C10。

enter image description here

答案 1 :(得分:1)

如果处理整数,您只需添加+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 + 输入确认!

但是,对于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 + 输入确认!

图片步骤:

example

第一个表格显示直接添加1/ROW用于LARGEMATCH以获取行,如果存在双精度(因此INDEX可以选择正确的一行)

第二个表显示了如何将值替换为RANK.EQ的排名,然后像第一个表一样对待它们。

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

对于Excel 2007,只需将RANK.EQ($C$3:$C$7,$C$3:$C$7,1)替换为RANK($C$3:$C$7,$C$3:$C$7,1)

如果您还有任何疑问,请询问:)