Excel:使用什么公式来返回一组查找值的最小值或最大值?

Excel:使用什么公式来返回一组查找值的最小值或最大值?

我正在寻找一种方法来计算下面屏幕截图中 D 列和 E 列显示的值。D 列包含 B 列中与 A 列中的名称匹配的最早日期。同样,E 列包含 C 列中与 A 列中的名称匹配的最晚日期。

在此处输入图片描述

例如,对于 A 列中所有出现“Bob”的实例,D 列应包含 B 列中最早的“日期行”,其中 A 列 =“Bob”(在本例中为 2013 年 12 月 1 日)。

我知道这可以使用数据透视表轻松完成,但在这种情况下,我需要使用公式或以编程方式来完成。

数据是使用 VBA 生成的,因此,在没有公式化解决方案的情况下,我将简单地恢复计算所需值作为程序的一部分(注意:我不是在问如何做到这一点)。由于数据集的复杂性(上述示例是粗略的简化),我需要大约一天的时间才能在代码中实现它,因此如果可能的话,我宁愿避免这样做。

我猜测可能要使用数组公式,但我很惭愧地承认我根本不知道如何使用它们。

非常感谢任何帮助/指点。

答案1

一般来说:

{=MIN(IF(MatchRange=MatchVal,ValueRange))}

或者

{=MAX(IF(MatchRange=MatchVal,ValueRange))}

因此,翻译为原始例子的条件...

单元格 D2 将包含以下数组公式:

{=MIN(IF(A$2:A$7=A2),B$2:B$7)}

单元格 E2 将包含:

{=MAX(IF(A$2:A$7=A2),C$2:C$7)}

注意:不要在上面的例子中输入括号/花括号。输入不带括号的公式,然后按Ctrl+ Shift+Enter创建数组公式。

D2:E2 中的公式将“自动填充”到 D2:E7。

对 teylyn 充满感激,如果没有他的帮助性评论,我可能会像菜鸟一样坐在这里等待答案。

相关内容