【问题标题】:How do I find the largest numbers in a area, and then find the value of a number in the same row?如何在一个区域中找到最大的数字,然后在同一行中找到一个数字的值?
【发布时间】:2022-10-14 07:33:54
【问题描述】:

我找不到这样做的方法,是否可以(使用 excel 函数或 VBS)?

例如,这些将是初始值:

Number Value
101 234
102 324
103 345
104 325
105 437
106 443
107 806
108 476
109 538
110 546

在取三个最高数字之后,这将是输出:

Number Value
107 806
110 546
109 538

数据不断更新,因此可能会导致一些问题。

【问题讨论】:

    标签: excel


    【解决方案1】:

    您可以将FILTERLARGE 函数结合使用来实现此目的:

    A 列和 B 列代表样本数据。单元格 D2 可以包含以下公式:

    =FILTER($A$2:$B$9,$B$2:$B$9>=LARGE($B$2:$B$9,3))
    

    【讨论】:

      【解决方案2】:

      如果数据不断更新,最好有一个 Excel 表(我命名为TB_NumVal),这样范围索引就会自动更新。

      在单元格中:J2

      =SORT(FILTER(SORT(TB_NumVal,2), (ROW(TB_NumVal[Number])-1) 
        > ROWS(TB_NumVal[Number])-3),2,-1)
      

      这是输出:

      解释

      我们对数据进行排序,然后因为我们从第 2 行开始(第 1 行是标题),所以我们减去 1。所以

      ROW(TB_NumVal[Number])-1
      

      将提供从一开始的行号。

      ROWS(TB_NumVal[Number])
      

      是总行数,在我们的例子中是10

      使用这样的过滤条件:

      (ROW(TB_NumVal[Number])-1) > ROWS(TB_NumVal[Number])-3)
      

      确保只选择最后三行,然后最后按值降序对过滤结果进行排序,以匹配问题截图的结果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-29
        • 2016-04-24
        • 1970-01-01
        • 2013-08-01
        • 1970-01-01
        相关资源
        最近更新 更多