代码之家  ›  专栏  ›  技术社区  ›  Michi

仅显示筛选和排序列表中某个排名位置的值

  •  1
  • Michi  · 技术社区  · 11 月前
    0 A. B
    1. 100 60
    2. 50 50
    3. 80 40
    4. 10
    5. 20
    6. 70
    7. 30
    8. 90
    9 40
    10 60

    在里面 Column B 我想

    1. 对中的值进行排序 Column A 下降和
    2. 则仅显示中的值 排名5,6,7 按降序排列。

    到目前为止,我已经能够使用以下公式解决第一步:

    =TAKE(SORT(A1:A10;;-1);5)
    

    然而,我现在已经知道如何实施第二步了。应该是这样的

    =TAKE(SORT(A1:A10;;-1);5-7)
    

    你知道哪一个公式只需要显示中的值吗 排名5,6,7 ?

    注:5、6、7只是这个问题的一个例子。
    如果有一个公式可以灵活地定义这个范围,那就太好了。

    3 回复  |  直到 11 月前
        1
  •  2
  •   JvdV    11 月前

    这可能非常简单,具体取决于您的实际输入和需求。例如,以下内容可能就足够了:

    enter image description here

    中的公式 D1 :

    =LARGE(A1:A10,{5;6;7})
    
        2
  •  1
  •   Mayukh Bhattacharya    11 月前

    您可以尝试使用 CHOOSEROWS()

    enter image description here


    =CHOOSEROWS(SORT(A1:A10,,-1),5,6,7)
    

    或者,可能正在使用 INDEX()

    =INDEX(SORT(A1:A10,,-1),{5;6;7})
    

    补遗 此外,如果你想从过滤后的数据中获得这些列表,那么有一种可能的方法:

    enter image description here


    =LET(α, A2:A11, INDEX(SORT(FILTER(α,MAP(α,LAMBDA(δ,SUBTOTAL(103,δ)))),,-1),SEQUENCE(3,,5)))
    

        3
  •  1
  •   Kreeszh    11 月前

    已经有几个答案了,但你也可以使用过滤器。

    =FILTER(SORT(B1:B10,,-1),(ROW(B1:B10)>=5)*(ROW(B1:B10)<=7))