查找列值Excel

我有一个在Excel中看起来像这样的数据:

A 17 8,5 5,666666667 4,25 3,4 2,833333333 2,428571429 B 5 2,5 1,666666667 1,25 1 0,833333333 0,714285714 C 5 2,5 1,666666667 1,25 1 0,833333333 0,714285714 G 4 2 1,333333333 1 0,8 0,666666667 0,571428571 

我想find代表特定值的字母。 例如,如果我search“17”,我想得到输出“A”,如果我正在寻找0,8,我想得到“G”。 谁能帮我?

(实际上,我想查找数据中从最大到最小的所有值,并find相应的字母值)

 =INDEX($A$1:$A$4,AGGREGATE(14,6,ROW($B$1:$H$4)/(L3=$B$1:$H$4),1)) 

假设您的示例数据在A1:H4范围内

当你有重复的值可以find这个公式将返回最大的行号。 如果你想在第一行的数值,你可以改变14到15。

POC

编辑

选项1

 =INDEX($A$1:$A$21,AGGREGATE(14,6,ROW($B$18:$L$21)/(L3=$B$18:$L$21),1)) 

选项2

 =INDEX($A$18:$A$21,AGGREGATE(14,6,ROW($B$18:$L$21)/(L3=$B$18:$L$21),1)-ROW($A$18)+1) 

POC#2

当你移动它时,你遇到的问题很可能是因为你的范围参考变化。 从汇总检查中返回的行号必须是索引范围内的一行。 因此,选项一保持索引范围较大,但匹配聚合结果中的所有可能的行。 选项二将范围缩小到只是您的数据,并调整结果以减去数据之前的行数,所以它确实指的是您要查看的索引范围内的哪一行。

选项3

感谢Scott Craner指出完整的列引用在集合函数之外是完全可以接受的,你也可以使用:

 =INDEX($A:$A,AGGREGATE(14,6,ROW($B$18:$L$21)/(L3=$B$18:$L$21‌​),1)