如何根据相应单元格用日期填充一个单元格

如何根据相应单元格用日期填充一个单元格

对于一个项目,我想查看一组单元格以查找一个单元格中的最大值,并根据相应的日期自动填充下一个单元格以获得最大值。

例如,A 列是数据收集的日期,B 列是数据本身。

在单元格 C1 中,我使用公式“=MAX(B1:B10)”来查找我收集的数据中的最大值。在 D1 中,我想自动填充与我填充到 C1 中的最大值相对应的日期(或者更简单地说,是测量最大值的日期)。

有没有快速简便的方法来实现这一点?我尝试了“and”和“if”函数,但不太清楚如何让它工作。

答案1

XLOOKUP()您可以按照说明进行操作gns100,这非常简单:

=XLOOKUP(MAX(B2:B23),  B2:B23,  A2:A23)

这是XLOOKUP()设计它的目的:避免人们为了做到这一点必须经历的所有曲折。

当然,MAX()在公式中使用 C1 而不是函数,除非您只在自己的单元格中计算了它,以便在 C1 中使用它。在这种情况下,只需将其作为公式本身的一部分,如上所示,您不必将其放在自己的单元格中。如果它有用或需要显示,请在 C1 中执行,然后使用 C1 作为查找值。

(您所需要的是在数据范围内“向左看”:之前的所有查找功能都XLOOKUP()只能向右看,可以这么说。一定有六种有用的解决方法(扭曲),但都需要一定程度的理解。)

我感觉你刚开始使用 Excel,所以我会继续介绍一些其他解决方案。但上面的解决方案最简单、最好。

有些函数一旦理解了,就很简单了(比如 INDEX/MATCH)。有些函数使用了 Excel 世界中令人恐惧的(在 1997 年,而不是 2021 年)“易变”函数。天哪,易变函数!但有些函数非常复杂……但很有效,而且仍然很容易理解。

忘记所有这些技术似乎很可惜,因为这些技术本身可以用于其他公式、其他组合和其他目的。例如,有一种方法可以CHOOSE()让您在公式本身中创建一个临时表,其中的列重新排列,以便您“向右看”而不是向左看。(因此对于 Excel,B 列可能是第一列,然后是 A 列,而不是相反。然后日期位于您正在搜索的值的右侧,查找所有工作正常。)但在某些情况下它会产生奇怪的效果,谁需要它???

执行基本操作CHOOSE()的另一种方法是使用INDEX()指定“自然”范围,然后指定获取所有行的行值,最后使用Array Constant以不同的顺序请求列。数组常量如下所示:{2,1}

以下是一个公式,它可以做最好的选择XLOOKUP(),并展示如何INDEX()满足所有挑剔的 Excel-ites 的最爱VLOOKUP()

=VLOOKUP(MAX(B2:B23),  INDEX(A2:B23,  SEQUENCE(ROWS(A2:B23)),  {2,1}),  2,  FALSE)

对于那些没有的人来说它也很方便,XLOOKUP()虽然SEQUENCE()肯定需要更换,但这很容易:( ROW(2:23)公平,因为您知道数据范围的开始和结束行)。

INDEX()给出VLOOKUP()数据,其中查找值作为第一列(“2”表示“将第 2 列放在第一位”,而“1”表示“将第 1 列放在第二位”),所需日期作为第二列。因此,这VLOOKUP()本身非常正常,没有什么奇怪的。您可以使用该MAX()部分从数据本身指定查找值。

顺便说一句,您可以使用LARGE()来获得各种回报。比如说,您想要某个比赛中表现最好的五名选手。或者您想要第 3 名、第 8 名和第 17 名选手。无论您需要什么。记住LARGE()SMALL()以及MAX()MIN()非常值得的。

答案2

在 Excel 365 中,您可以使用FILTER功能

=FILTER(A1:A10,B1:B10=C1)

如果收集了最多数据的日期,则会列出所有日期。

相关内容