索引/与Min匹配(或等效)

时间:2016-05-05 15:47:29

标签: excel excel-formula

我尝试根据范围内的MIN()返回值。这是一个screenshot,但这里是数据:

Category        Types       pts      Policeman       Hero
Jurisdiction    City        -10         x   
                State         0     
                Country      20                       x
Vehicle         Car          -2         x   
                Bus          20     
                Unicycle     20                       x
Sidekick        No Sidekick -20         x   
                One           5     
                Multiple     10                       x
Powers          None        -30                       x
                Super        2          x
                Kenny        30     

我的目标是每个人" (警察和英雄),查看他们的专栏,并从B栏返回值,其中X是最小的"值。

换句话说,对于"警察",分钟。使用' X'是"没有Sidekick",所以我希望我的索引/匹配能够返回。对于" Hero",使用" X"的最小值。是"无" (根据"权力")。

我试过了:
=Index(B2:B13,Match(Index(Min(C2:C13),Match("x",D2:D13,0))&"x",C2:C13&D2:D13,0))但它不起作用。

我也试过了 =Index(B2:B13,Min(If(D2:D13="x"),Row(D2:D13)-1))

我可以在脑海中看到这个公式,只是无法弄清楚我哪里出错了。感谢您的任何想法/帮助。

(我不必使用索引/匹配,所以如果有另一种方式(也许是Sumproduct()?),我就可以了!)

2 个答案:

答案 0 :(得分:4)

以下将执行此操作(未经测试):

=INDEX($B$2:$B$13,MATCH(1,INDEX((D$2:D$13="x")*($C$2:$C$13=AGGREGATE(15,6,$C$2:$C$13/(D$2:D$13="x"),1)),),0))

只因为是布鲁斯。

我合并了D和E列,依此类推,是的,我知道我在合并时做了主要的罪,但是嘿,我认为你可以做你想做的事。我只是展示了一个概念:

enter image description here

在D14:

=AGGREGATE(15,6,$C$2:$C$13/(D$2:D$13="x"),ROW(1:1))

然后在E14:

=INDEX($B$2:$B$13,AGGREGATE(15,6,(ROW($C$2:$C$13)-1)/((D$2:D$13="x")*($C$2:$C$13=D14)),COUNTIF(D$14:D14,D14)))

然后向下复制

答案 1 :(得分:3)

使用索引/匹配的一个答案是

=INDEX($A$2:$A$15,MATCH(MIN(IF($C$2:$C$15="x",$B$2:$B$15,9999)),IF($C$2:$C$15="x",$B$2:$B$15,""),0))

列是错误的,因为我使用了自己的数据,但这个概念有效。