我有一个包含两列的数据表。第一列包含项目ID列表,第二列包含与这些项目关联的一组日期。项目可以有多个与之关联的日期。
我想创建一个包含两列的单独摘要表。第一列将是唯一项目ID的列表(我已经能够使用索引/匹配功能执行此操作)。我希望第二列搜索日期列,并确定与每个项目关联的最新日期。
是否可以使用标准excel公式创建此摘要表的第二列,而无需使用任何VBA?一两个小时后,我不相信这是可能的。
我希望,对于给定的项目ID,可能有办法执行以下操作:
- >识别包含给定项目ID的所有行的行号;
- >使用此行号信息从日期列中获取相应的单元格值(可能是首先构建单元格引用列表)
- >显示返回的最大日期。
答案 0 :(得分: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引用的每一列。
¹ Excel 2010引入了AGGREGATE function。早期版本不提供。