Excel:从表中获取第一个值

时间:2018-07-08 12:42:03

标签: excel excel-formula

(首先,很抱歉,这些图片是链接的并且没有显示,但是我仍然没有10的声誉:'()

大家好!

我需要您的建议和答案:尽管通过Internet进行了搜索,但找不到任何解决我的问题的方法。所以,我要来这里,希望大家能启发我。

我有一个看起来像这样的数据表:(这是一个示例)

Example 1

对于复制/粘贴:

Name Index Val 1  Val 2 Val 3
AAA  1     121    12    81921
BBB  2     651    9491  1
CCC  3     11     90121 210
DDD  4     612    18    29
EEE  5     1441   12    123
FFF  6     12     1921  51
GGG  7     210    120   1245
…    …     …       …    …

我正在寻找允许我获得特定类型的5个最大值的公式,然后将其显示在以下共振峰中:(另一个手工示例)

Example 2

哪个看起来像这样:

Name    Val 1               Name    Val 2               Name    Val 3
EEE     1441                CCC     90121               AAA     81921
BBB     651                 BBB     9491                GGG     1245
DDD     612                 FFF     1921                CCC     210
GGG     210                 GGG     120                 EEE     123
AAA     121                 DDD     18                  FFF     51

在每个不同的新创建的表中,我应该具有给定值的5个最高数据。 理想情况下,当在主表中输入新数据时,应自动更新这些新表,这样就无需重新检查所有内容。

非常感谢您将来的回答!如果您需要答案以更好地了解我的问题和需要什么,我很乐意回答您!

1 个答案:

答案 0 :(得分:1)

创建适当的列标题标签后,将这两个公式放入G2:H2中。

=INDEX($A:$A, AGGREGATE(15, 7, ROW($B$2:INDEX($B:$B, MATCH(1E+99, $B:$B)))/(INDEX($A:$E, 2, MATCH(H$1, $A$1:$E$1, 0)):INDEX($A:$E, MATCH(1E+99, $B:$B),  MATCH(H$1, $A$1:$E$1, 0))=H2), COUNTIF(H$2:H2, H2)))
=AGGREGATE(14, 7, INDEX($A:$E, 2, MATCH(H$1, $A$1:$E$1, 0)):INDEX($A:$E, MATCH(1E+99, $B:$B), MATCH(H$1, $A$1:$E$1, 0)), ROW(1:1))

再填写四行,然后将G2:H6复制到J2:K6和M2:N6。

enter image description here