【问题标题】:MAXIFS function that increments to return 2nd,3rd largest numbersMAXIFS 函数递增以返回第二、第三大数字
【发布时间】:2021-10-27 11:30:35
【问题描述】:

我有一个名为“已付款”的列,其中包含 A 列中的货币数字。 我还有一个名为 ID 的列来唯一定义 B 列中的每一行。 我正在尝试从本专栏中列出前十名的最高结果。

对于第一个结果,我使用了一个简单的 MAX 函数。 对于以下内容,我使用

=MAXIFS(Combined!$A$1:$A$2916,$A$1:$A$2916,"<"&$C1)

其中 C1 是前 10 名列表中的第一个结果。

问题:目前,如果两个结果在“付费”中相等,一个将被跳过并且不在列表中。

我尝试过使用具有以下性质的东西

=MAXIFS($A$1:$A$2916,$B$2:$B$2916,"<>"&$D1)

其中 D1 是前 10 名列表中第一个的 ID。

我的问题是我想用一个条件说B列中的ID都没有出现在D列的上述条目中(前10名的ID),我不知道该怎么做这没有暴力破解并将每个单元格写入每个条件。

有没有更流畅的方法在 maxif 函数中编写“不在”检查? 谢谢

作为参考,我想要的示例如下所示:

Example Data

【问题讨论】:

  • 为什么不使用 large()。
  • 您有与此相关的示例数据和预期结果吗?
  • @SolarMike 啊,这可能会有所帮助,因为如果支付的值相同,它会返回多个值。让我看看。
  • 然后在这里查看“前 5 名”或“前 10 名” - 有一个可能有助于使用聚合()的解决方案

标签: excel list function excel-formula


【解决方案1】:

不妨试试:

C2中的公式:

=INDEX(SORT(A2:B11,1,-1),SEQUENCE(10),{1,2})

10 是你的前 N ​​个数字。


注意:以上方法仅检索 10 个数字时效果很好,但如果您坚持要让 ID '5' 高于​​ '3' 排名 2,ID '9' 高于 '1 ' 为 8 级,然后使用:

=INDEX(SORTBY(A2:B11,A2:A11,-1;B2:B11,-1),SEQUENCE(10),{1,2})

如果您有两个相同的付款“战斗”,例如,我可以看到这是相关的。第 1 或第 10 名,多个 id 之一即将出现短缺。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多