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

时间:2015-04-29 10:41:24

标签: excel function if-statement rank

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

如果我有三列,A列包含推文文本,B列包含推文生成的展示次数,列C包含推文的日期 - 我想输出以下内容而不使用VBA或者数据如果可以的话:

  • 按照所选日期范围内的展示次数制作一张包含前10条推文的表格
  • 该表应在一列中包含推文文本,并在第二列中包含相关的展示次数。

基本上我想查找给定日期约束的第n个最大值,并返回该值以及它旁边的推文文本。

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

1 个答案:

答案 0 :(得分:2)

假设有100行数据(根据需要更改)并且在E2(开始日期)和E3(结束日期)中定义了所需的日期范围,请使用此"数组公式&#34 ;在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

然后在F2中找到文字:

=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