excel INDEX未返回预期值

时间:2014-08-13 19:53:49

标签: excel algorithm excel-vba excel-formula excel-2010 vba

我有两列

这张照片最能理解 http://i.imgur.com/3Cbf7uh.png

使用这些算法 http://i.imgur.com/kBZztKL.png

所以列

Red 6.166666667
Blue    5.666666667
White   6.833333333
Green   5.166666667
Black   5.166666667
Yellow  6.666666667
Grn/Wht7    6
Ylw/Blk8    3.75

算法

=INDEX(J:J,MATCH(SMALL(K:K,1),K:K,0))   =SMALL(K:K,1)
=INDEX(J:J,MATCH(SMALL(K:K,2),K:K,0))   =SMALL(K:K,2)
=INDEX(J:J,MATCH(SMALL(K:K,3),K:K,0))   =SMALL(K:K,3)
=INDEX(J:J,MATCH(SMALL(K:K,4),K:K,0))   =SMALL(K:K,4)
=INDEX(J:J,MATCH(SMALL(K:K,5),K:K,0))   =SMALL(K:K,5)
=INDEX(J:J,MATCH(SMALL(K:K,6),K:K,0))   =SMALL(K:K,6)
=INDEX(J:J,MATCH(SMALL(K:K,7),K:K,0))   =SMALL(K:K,7)
=INDEX(J:J,MATCH(SMALL(K:K,8),K:K,0))   =SMALL(K:K,8)

为什么是第三个,回归绿色?

如何让它返回黑色?

1 个答案:

答案 0 :(得分:1)

假设你有J2:J9中的颜色和K2:K9中的相关数字,你想要P2中的结果:Q9

将此公式放在P2

=SMALL(K$2:K$9,ROWS(P$2:P2))

Q2

中的这个

=INDEX(J$2:J$9,SMALL(IF(K$2:K$9=P2,ROW(K$2:K$9)-ROW(K$2)+1),COUNTIF(P$2:P2,P2)))

使用 CTRL + SHIFT + ENTER确认

将两者复制到第9行

在第二个公式中,COUNTIF部分确保您为匹配的数字返回不同的颜色,因为它会将实例计算到该点,当有关系时递增每一行

见截图

enter image description here