基于max和小于?的数组?

时间:2018-01-17 23:10:44

标签: excel excel-formula excel-2013

我不确定我是不是太复杂了...... 基本上我想要一个公式 如果c列小于6,则在B中查找最大值但显示C

的值 到目前为止,我有这个,但我希望它显示2,而不是437

{= MAX(IF(C2:C12< 6,B2:B12,0))}

任何建议表示赞赏。我很害羞,很好..谢谢

A       B       C 
cat     110     3
dog     148     4
rooster  36     7
duck     32     8
pig     437     2
horse    44     6
eagle   215     5
dolphin  21     1
panda     2     9
iguana  257    10
fish    199    11

编辑:

也许是类似的东西 {= INDEX(C2:C12,MATCH(MAX(IF(C2:C12&10 6,C2:C12)),C2:C12,0))}

但是我没看到把b2放在哪里:b12

4 个答案:

答案 0 :(得分:0)

你差不多...... 基本上如果C<6,找到B的最大值,在B:C中查找并显示相应的C

{=IFERROR(VLOOKUP(MAX(IF(C2:C12<6,B2:B12, 0)),B2:C12,2,FALSE),0)}

因为你的问题没有说明如果c>=6我认为你不想要价值。 如果你澄清,可以更准确地回答。

如果这是正确的,请将此标记为答案。 希望这有帮助!

答案 1 :(得分:0)

{=IF(C2<6,INDEX($C$2:$C$12,MATCH(MAX($B$2:$B$12),$B$2:$B$12,0)),0)}

答案 2 :(得分:0)

你真的需要两个条件

1)B列等于=MAX(IF(C2:C12<6,B2:B12))

2)C列是<6

所以当满足这两个列时,你可以INDEX列C,即

=INDEX(C2:C12,MATCH(1,(B2:B12=MAX(IF(C2:C12<6,B2:B12)))*(C2:C12<6),0))

使用 CTRL + SHIFT + ENTER确认

答案 3 :(得分:0)

我可以看到你要求一个INDEX公式:

{=INDEX($C$2:$C$12,MATCH(MAX(IF($C$2:$C$12<6,$B$2:$B$12,0),0),IF($C$2:$C$12<6,$B$2:$B$12,0),0))}

这是一个数组公式,在公式栏中点击 Ctrl + Shift + Enter

让我们打破这个。

=INDEX(C:C, - 索引列C,因为这些是您想要返回的值

MATCH(IF(C:C<6,B:B,0), - 从数组中的以下数组中找出最大值,并返回INDEX()的相对位置

IF(C:C<6,B:B,0),0)) - 如果列c中的值小于6,则将列B值添加到数组中,否则添加0