如何从Excel中的2列中获取最高值?

我有一个devise软件将数据提取到一个Excel工作表格式输出分成2列,每列有1000多行。 为了利用这些数据,我需要把它总结到两栏中最大的5个最高值。 因此,这并不意味着它是一个列的最大值及其相应的值,而是可能意味着列1的第二个最大值和列2的第四个最大值。

例如(如果我们引用了一些输出数据):

在这里输入图像说明

我应该select的值是:

在这里输入图像说明

如果有什么办法可以做到的话,那就太好了

谢谢 ..

示例文件: http : //goo.gl/UIEFEv

示例文件2 : http : //goo.gl/VSvuVf

这是一个公式解决scheme。 我使用了20行,并提取了包含每个列的前5个的行 – 您可以根据需要扩展到所需的行数。

使用A1:B20中的数据,使用CTRL + SHIFT + ENTER确认的D1中的公式,并复制到E1和向下两列:

=IFERROR(INDEX(A$1:A$20,SMALL(IF(($A$1:$A$20>=LARGE($A$1:$A$20,5))+($B$1:$B$20>=LARGE($B$1:$B$20,5)),ROW(A$1:A$20)-ROW(A$1)+1),ROWS(D$1:D1))),"")

注意:只有八行被提取,因为一些行包含两列的前5位的值。 我在colums A和B中join了更加清晰的说明

看下面的截图

在这里输入图像说明

编辑:

从下面的注释看来,你想要包含该列的最高值的行的组合和两列中包含最高总计的行。

在原来的公式中有两个条件加“+”,即

($A$1:$A$20>=LARGE($A$1:$A$20,5))+($B$1:$B$20>=LARGE($B$1:$B$20,5)

“+”给你一个"OR"types的function,例如在这种情况下,如果单个值在特定列的前5位,则包括行。 你可以添加其他的条件,所以如果你想要添加任何位于前5列的行,考虑到两列的总和,那么你可以添加另一个“子句”,即

($ A $ 1:$ A $ 20> = LARGE($ A $ 1:$ A $ 20,5))+($ B $ 1:$ B $ 20> =大($ B $ 1:$ B $ 20,5) + $ 1:$ A $ 20±$ B $ 1:$ B $ 20> = LARGE($ A $ 1:$ A $ 20±$ B $ 1:$ B $ 20,5))

….并包括在完整的公式,你会得到这个版本:

=IFERROR(INDEX(A$1:A$20,SMALL(IF(($A$1:$A$20>=LARGE($A$1:$A$20,5))+($B$1:$B$20>=LARGE($B$1:$B$20,5))+($A$1:$A$20+$B$1:$B$20>=LARGE($A$1:$A$20+$B$1:$B$20,5)),ROW(A$1:A$20)-ROW(A$1)+1),ROWS(D$1:D1))),"")

您可以通过使用+* (对于AND )的组合进一步细化,例如,对于新条件,如果其中一个单个值位于该列的前10位,那么您可能只想包括总计位于前5位的行…

说明:

上面的部分显示了如何使用+作为OR条件。 在公式中,如果这些条件为TRUEIF函数返回范围的“相对行号”(使用行ROW(A$1:A$20)-ROW(A$1)+1 )。

SMALL函数提取第k个最小值,k由D1(或E1)中从1开始的ROWS(D $ 1:D1)定义,每行增加1。

INDEX函数然后从该行取实际值。

当你用完合格的行SMALL函数将返回一个#NUM! 错误,这里IFERROR在这里转换为空白

这个问题有点不清楚,但是如果你的意思是在列B中得到列A的5个最高值及其对应值,则列B中的5个最高值和列A中的相应值,则(非自动)解决scheme非常简单。

  1. 点击一个包含标题标题的单元格。
  2. 点击顶部菜单中的“数据”。
  3. 点击“筛选”部分中的“筛选”。
  4. 点击列A上的button – select“最大到最小sorting”
  5. 从两列中获取前五个值,然后单击B列中的button并重复。