我尝试根据范围内的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()
?),我就可以了!)
答案 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列,依此类推,是的,我知道我在合并时做了主要的罪,但是嘿,我认为你可以做你想做的事。我只是展示了一个概念:
在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))
列是错误的,因为我使用了自己的数据,但这个概念有效。