【问题标题】:formula that matches against multiple dates and grabs the most recent匹配多个日期并获取最新日期的公式
【发布时间】:2016-02-24 11:02:29
【问题描述】:

我有一个包含两列的数据表。第一列有一个项目 ID 列表,第二列有一堆与这些项目相关的日期。一个项目可以有多个与之关联的日期。

我想创建一个包含两列的单独汇总表。第一列将是唯一项目 ID 的列表(我已经能够使用索引/匹配功能做到这一点)。我希望第二列搜索日期列并确定与每个项目关联的最近日期。

是否可以使用标准 Excel 公式而不使用任何 VBA 创建汇总表的第二列?一两个小时后,我不相信这是可能的。

我希望,对于给定的项目 ID,可能有一种方法可以执行以下操作:

--> 标识包含给定项目 ID 的所有行的行号;

--> 使用此行号信息从日期列中获取相应的单元格值(大概是通过首先构造一个单元格引用列表)

--> 显示返回的最大日期。

What my spreadsheet looks like

【问题讨论】:

标签: excel excel-formula


【解决方案1】:

AGGREGATE¹ function 可以快速计算一个伪 MAXIF 函数。

以E2为标准公式,

=AGGREGATE(14, 6, (B$1:INDEX(B:B, MATCH(1E+99,B:B)))/(A$1:INDEX(A:A, MATCH(1E+99,B:B ))=D2), 1)

根据需要填写。

SUMPRODUCT function 一样,AGGREGATE 受益于引用所需的最少行数。 MATCH(1E+99,B:B) 在 B 列的 daes 范围内截断由 INDEX function 引用的每一列。


¹ AGGREGATE function 是在 Excel 2010 中引入的。它在早期版本中不可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多