大卫问他如何在特定列中返回与最大值相关的日期。在David的申请中,他有两列,分别包含日期和与这些日期相关的权重。他可以弄清楚如何确定最大重量,但不能弄清楚该重量发生的日期。

在这种情况下,假设日期在A列中,权重在B列中第2到45行。以下是确定B列中最大权重的方法:

=MAX(B2:B45)

您不限于使用MAX函数;您还可以使用LARGE函数,该函数返回范围内的最大指定值。如果要最大值,可以按以下方式使用该函数:

=LARGE(B1:B45,1)

到现在为止还挺好。为了将相应的日期从单元格中拉到日期的左侧,您需要做的就是使用查找功能之一。下面的示例使用INDEX函数:

=INDEX(A2:A45,MATCH(MAX(B2:B45),B2:B45,FALSE),1)

INDEX函数从范围A2:A45的第n行第1列中提取值。

通过使用MATCH来确定n的值,以获取该范围内范围B2:B45的最大值的位置号。例如,如果最高权重是列表中的第四个权重(第5行中的权重),则MATCH表达式返回4,因此INDEX函数返回第5行第1列的日期,范围为A2:A45。

如果需要,可以通过仅在公式中指定列信息来进一步简化公式。这样,您可以在A列和B列中包含任意多个条目:

=INDEX(A:A,MATCH(MAX(B:B),B:B,FALSE),1)

在这些公式中,您可以轻松地使用LARGE函数代替MAX函数。如果有两个具有相同权重的日期,则仅返回第一个匹配的日期。此外,您需要使用日期格式来格式化包含公式的任何单元格。

如果您的列是反向的,则意味着权重在A列中,日期在B列中,那么您将使用VLOOKUP函数而不是INDEX,如下所示:

=VLOOKUP(LARGE(A1:A45,1),A1:B45,2,FALSE)

同样,如果需要,可以在此公式中使用MAX函数代替LARGE函数。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(10651)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: