In Excel: Return 给定约束的一组数字中的第 n 个最大值

In Excel: Return nth largest value in a group of numbers given constraints

我想知道是否有人可以帮助解决以下 Excel 问题:

如果我有三列,A 列包含推文文本,B 列包含推文产生的印象数,C 列包含推文日期 - 我想输出以下内容而不使用 VBA 或枢轴 tables 如果可以的话:

基本上我想查找给定日期限制的第 n 个最大值,return 该值以及旁边的推文文本。

我一直在查找 =LARGE(IF()) 函数,但到目前为止我还没有成功,有人有什么建议吗?

假设有 100 行数据(根据需要更改)并在 E2(开始日期)和 E3(结束日期)中定义了所需的日期范围,使用此 "array formula" G2 数字:

=LARGE(IF(C:C0>=E,IF(C:C0<=E,B:B0)),ROWS(G:G2))

CTRL+SHIFT+ENTER确认并向下复制到G11

然后在 F2 中输入文本:

=INDEX(A:A0,SMALL(IF(B:B0=G2,IF(C:C0>=E,IF(C:C0<=E,ROW(B:B0)-ROW(B)+1))),COUNTIF(G:G2,G2)))

CTRL+SHIFT+ENTER确认并向下复制到F11