在Excel中:返回给定约束的一组数字中的第n个最大值

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

如果我有三列,包含鸣叫文本的列A,包含鸣叫产生的展示次数的列B,包含鸣叫date的列C – 如果我使用了VBA或数据透视表,我想输出以下内容能够:

  • 根据所选date范围内的展示,制作包含前10名推文的表格
  • 表格应该包含一列中的鸣叫文本,第二列中包含相关的展示次数。

本质上,我想查找给定date约束的第n个最大值,并将该值和tweet文本一起返回。

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

假设在E2 (开始date)和E3 (结束date)中定义了100行数据(根据需要进行更改)和所需的date范围,请使用G2 “数组公式”

=LARGE(IF(C$2:C$100>=E$2,IF(C$2:C$100<=E$3,B$2:B$100)),ROWS(G$2:G2))

CTRL + SHIFT + ENTER确认,然后复制到G11

然后在F2input文字:

=INDEX(A$2:A$100,SMALL(IF(B$2:B$100=G2,IF(C$2:C$100>=E$2,IF(C$2:C$100<=E$3,ROW(B$2:B$100)-ROW(B$2)+1))),COUNTIF(G$2:G2,G2)))

CTRL + SHIFT + ENTER确认,然后复制到F11