在Excel中查找第二大值
如果您想要获取列或范围中的最高值,可以使用 Excel 中的内置 MAX 函数轻松实现。
但是如果你想从同一个数据集中获取第二大的值、第三大的值或第n大的值怎么办?
在这种情况下,您将不得不使用另一个名为 大的 这允许您从一个范围中获得任何第 n 个最高值。
在本文中,我将向您展示如何在不同场景下找到数据集中的第二大值。 我将向您展示如何获取第二大值、突出显示它或从同一行或同一列获取任何其他相应的数据。
推荐:如何在Windows中保存正在运行的进程列表
查找列中第二大的数字
让我们从一个简单的例子开始。
下面,我有一个数据集,其中 B 列中有学生的分数,我想获得该列中第二大的分数。
这是执行此操作的公式:
=LARGE(B2:B11,2)
我在单元格 D2 中输入此公式并按 Enter 键以获得结果。
以下是 LARGE 函数在 Excel 中的工作原理:
- B2:B11 – 这是函数中的第一个参数,它是我们要查找值的范围
- 2 – 这是我们指定想要第二大值的地方。 如果我将其更改为 1,它将给我最大的值。 如果我将其设为 3,这将是第三高的值。
查找某个范围内的第二大数字
您还可以使用 LARGE 函数从具有多行和多列的范围中查找第二大数字。
下面,我有一个数据集,其中有学生姓名及其在三个不同科目中的分数,我想知道所有科目中第二高的分数。
这是执行此操作的公式:
=LARGE(B2:D11,2)
上面的公式分析了整个范围 B2:D11 并给出了整个范围内的第二大值。
Also read: How to Rank within Groups in Excel
根据标准查找第二大值
有时,您可能想根据某些标准了解第二高的值。
在这种情况下,您将必须使用公式组合,使您能够首先根据条件获取数据,然后给出第二大的值。
让我用一个例子向您展示。
下面,我有一个学生在三个不同科目的成绩数据集,我想获得单元格 F1 中提到的科目的第二高分(本例中为物理)。
这是执行此操作的公式:
=LARGE(INDEX($B$2:$D$11,,MATCH(F1,B1:D1,0)),2)
将此公式放入单元格 F2 中,然后按 Enter 键即可得出结果。
上面的公式首先使用索引匹配组合来仅获取单元格 F1 中主题的数据。
一旦我们获得了所选主题的数据,LARGE 函数就会为我们提供该数据的第二高值。
请注意,此公式是动态的,这意味着如果您将单元格 F1 中的科目名称从“物理”更改为“数学”或“化学”,结果将自动更新,为您提供该科目的第二高分。
您还可以使用相同的概念根据条件获得最高值或第三高值或任何第 N 高值。
突出显示第二大值(条件格式)
如果要突出显示包含第二大值的单元格,可以使用条件格式来实现。
为此,我们将使用条件格式中的公式来分析给定范围内的每个单元格并检查它是否包含第二大值。 如果它确实包含第二大值,它将使用指定的颜色格式化单元格。
让我用一个例子向您展示这是如何工作的。
下面,我有一个数据集,其中有学生的数学成绩,我想突出显示该列中的第二高分。
以下是执行此操作的步骤:
- 选择包含分数的单元格。
- 点击 家 标签。
- 单击 条件格式 样式组中的选项。
- 单击 新规则 选项。
- 在新的格式规则对话框中,选择选项“使用公式确定要设置格式的单元格‘。
- 在公式字段中,输入以下公式:
=B2=LARGE($B$2:$B$11,2)
- 单击格式按钮
- 在“填充”选项卡中,选择要突出显示具有第二高值的单元格的颜色(此处我将使用黄色)
- 单击“确定”
- 单击“确定”
上述步骤将突出显示包含第二大值的单元格。
这是如何运作的?
我们在条件格式中使用了一个公式,该公式检查所选范围内的每个单元格的条件 =B2=LARGE($B$2:$B$11,2)
在本例中,我们使用了 B2,它是该范围中的第一个单元格。 但由于这是相对单元格引用,当条件格式分析每个单元格时,它将从该单元格中获取值。
因此,当分析单元格 B3 时,公式将变为:
=B3=大($B$2:$B$11,2)
当分析单元格 B4 时,公式将变为
=B4=大($B$2:$B$11,2)
作为公式结果,条件格式设置为 True 的任何单元格都将以指定的颜色突出显示。 这只适用于包含第二大值的单元格。
如果有多个单元格包含第二大值,则所有这些单元格都将突出显示。
Also read: Highlight Cells With Formulas in Excel
获取第二高值的对应数据
到目前为止,我们已经使用了给出第二高值的公式。 但在许多情况下,您真正需要的是同一行或同一列中的相应数据点。
例如,下面有一个数据集,其中有学生的分数,我想知道得分第二高的学生的名字。
这是执行此操作的公式:
=INDEX(A2:A11,MATCH(LARGE(B2:B11,2),B2:B11,0))
我已在单元格 D2 中输入此公式并按 Enter 以获得结果。
在上面的公式中,我首先使用 LARGE 函数来获取第二高的值,然后在 MATCH 函数中使用它来获取该列中第二高的值的位置。
在此示例中,公式的匹配部分将返回 2,因为 Tim 得分第二高,位于 B2:B11 范围内的第二个单元格(按位置)。
现在我知道了第二高分的位置,我可以使用 INDEX 函数从 A 列中获取相应的名称。
在 INDEX 函数中,我的第一个参数是我想要获取数据的范围(在本例中是 A2:A11 中的名称),第二个参数是 MATCH 函数,它为我们提供了第二个数据的位置最高值,将用于从 A2:A11 获取名称。
如果您使用的是较新版本的 Excel 并且可以访问 XLOOKUP 函数,您也可以使用以下公式:
=XLOOKUP(LARGE($B$2:$B$11,2),B2:B11,A2:A11,,0)
因此,您可以使用这些方法来获取 Excel 中某个范围内的第二高值、第三高值或任何第 N 高值。
我已经介绍了获取精确值、使用条件格式突出显示该值或获取数据集中该值的相应数据点的公式。
我希望本 Excel 教程对您有用。