首页 > 解决方案 > Excel:从表中获取第一个值

问题描述

(首先,对不起,图片链接不显示,但我仍然没有10名声望这样做:'()

大家好 !

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

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

示例 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 个最高值的公式,然后将其显示在以下共振峰中:(另一个手工制作的示例)

示例 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 个最高数据。理想情况下,这些新表应该在主表中输入新数据时自动更新,这样就不需要重新检查所有内容。

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

标签: excelexcel-formula

解决方案


创建适当的列标题标签后,将这两个公式放入 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。

在此处输入图像描述


推荐阅读