【问题标题】:Microsoft Excel - Search and find the next highest valueMicrosoft Excel - 搜索并找到下一个最高值
【发布时间】:2020-03-18 15:44:42
【问题描述】:

我不是 Excel 专家,我需要一些帮助。

我有一个不同编号的列表和一个参考编号。我有一个公式,它给了我这个列表中我的号码的最接近的值 示例:

10 11 16 20 30

我的参考号是 13。

我在网上找到了一个公式,它给出了最接近的数字,在这种情况下是数字 11。

=INDEX(list;MATCH(MIN(ABS(list-reference_number));ABS(list-reference_number);0))

但我希望结果为 16(下一个最高数字)。

我想知道这是否可行以及如何实现。 提前致谢!

【问题讨论】:

  • 不确定您的数字列表与公式有何关系 - 有 5 个数字,但您引用了 100 行。但是,如果您可以将您的数字按降序排列,您可以使用像 =INDEX($A$1:$A$5,MATCH(13,$A$1:$A$5,-1)) 这样的公式

标签: excel excel-formula next highest


【解决方案1】:

因为MATCH(refernce,list) 将返回最接近 13 的值。这意味着 MATCH(refernce,list)+1 将返回您要查找的结果:

使用公式:

=INDEX(C1:C5,MATCH(13,C1:C5)+1)

【讨论】:

  • 列表是一个例子,实际列表中的数字要多得多,其中数字会发生变化。所以数字不是绝对的。我有一个最简单的解释。如果我的参考编号是 13,那么结果必须不低于 13。它必须是列表中的下一个最高数字。
  • 这正是我提出的公式的作用。我不确定你还追求什么。也许你会更多:=INDEX(C1:C5,MATCH(TRUE,INDEX(C1:C5>13,),0))
  • @JvdV 为恢复一个稍微过时的话题道歉!我认为公式不正确 - 请注意,如果您将单元格 C3(当前为 16)更改为更高的值(例如 66),那么您的公式将返回 66。我怀疑 OP 希望看到下一个最高值,在这种情况下将是 20
  • 如果数字序列确实不符合逻辑,那么你是绝对正确的。
【解决方案2】:

这是另一个数组公式供您尝试 (Ctrl+Shift+Enter):

=SUMPRODUCT(MIN(IF(A1:A5-B1>0,A1:A5)))

【讨论】:

    【解决方案3】:

    提供的列 A 包含数字,顺便说一下,可以取消排序,您可以获得最接近的更高数字:

    {=MIN(IF($A:$A>B1,$A:$A,MAX($A:$A)+1))}
    

    B1 包含参考号(在您的情况下为 13)。

    注意:这是一个array formular。您不必输入花括号。而是粘贴不带{} 的公式,然后按Ctrl + Shift + Enter 确认您的输入。

    【讨论】:

      猜你喜欢
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 2014-10-29
      • 2023-03-30
      • 2020-10-18
      • 1970-01-01
      • 2018-08-08
      • 1970-01-01
      相关资源
      最近更新 更多