我在excel
中遇到此问题=INDEX(A2:A41;MATCH(LARGE(M2:M41;1);M2:M41;0))
数据:
A M
name1 0,55
name2 2.01
name3 10.00
name4 2.01
name5 5.00
公式:
=INDEX(A2:A41;MATCH(LARGE(M2:M41;1);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;2);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;3);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;4);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;5);M2:M41;0))
这些命令将返回:
TOP 5 Values:
name5
name3
**name2**
**name2**
name1
问题是如果两个值相同,那么p.ex. name2 = name4 = 2.01,“name2”出现两次,“name4”无。
我试图让它返回:
name5
name3
**name2**
**name4**
name1
或者这个:
name5
name3
**name4**
**name2**
name1
订单无关紧要
编辑1
同样的问题..
这个公式:
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(1:1)))*1E+99;;);COUNTIF($M$2:$M2;$M2)))
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(2:2)))*1E+99;;);COUNTIF($M$3:$M3;$M3)))
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(3:3)))*1E+99;;);COUNTIF($M$4:$M4;$M4)))
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(4:4)))*1E+99;;);COUNTIF($M$5:$M5;$M5)))
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(5:5)))*1E+99;;);COUNTIF($M$6:$M6;$M6)))
返回与此相同的结果:
=INDEX(A2:A41;MATCH(LARGE(M2:M41;1);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;2);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;3);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;4);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;5);M2:M41;0))
如果M列上有两个相同的值,“name2”会出现两次,而另一个则不会出现......
编辑2
我只想要列M的TOP 5值,并返回它们的行:
TOP 5
name5
name3
name2
name4
name1
是不是有任何简单的命令可以将列M从最高值重新排列到最低值?并返回行名,而不是数字。
同样的问题.. 这个公式:
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(1:1)))*1E+99;;);COUNTIF($M$2:$M2;$M2)))
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(2:2)))*1E+99;;);COUNTIF($M$3:$M3;$M3)))
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(3:3)))*1E+99;;);COUNTIF($M$4:$M4;$M4)))
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(4:4)))*1E+99;;);COUNTIF($M$5:$M5;$M5)))
=INDEX($A$2:$A$41;SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41;ROW(5:5)))*1E+99;;);COUNTIF($M$6:$M6;$M6)))
返回与此相同的结果:
=INDEX(A2:A41;MATCH(LARGE(M2:M41;1);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;2);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;3);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;4);M2:M41;0))
=INDEX(A2:A41;MATCH(LARGE(M2:M41;5);M2:M41;0))
如果M列上有两个相同的值,“name2”会出现两次,另一个则根本不出现...... 我做错了什么?
答案 0 :(得分:0)
可能在管道的某处提供了一个数组公式,但这是一个标准公式解决方案。
O2中的公式是,
=INDEX($A$2:$A$41,SMALL(INDEX(ROW($1:$40)+($M$2:$M$41<>LARGE($M$2:$M$41,ROW(1:1)))*1E+99,,),COUNTIF($M$2:$M2,$M2)))
根据需要填写。