【发布时间】:2015-01-13 18:20:19
【问题描述】:
我在 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 值,并像这样返回它们的行:
前 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”出现两次,另一个根本不出现... 我是不是做错了什么?
【问题讨论】: