Microsoft Excel-搜索并查找下一个最高值

Microsoft Excel-搜索并查找下一个最高值,excel,excel-formula,next,highest,Excel,Excel Formula,Next,Highest,我不是Excel专家,我需要一些帮助 我有一个不同号码的列表和一个参考号码。我有一个公式,它给出了这个列表中最接近的数值 例如: 十, 11 16 20 三十 我的参考号是13 我在网上找到了一个公式,给出了最接近的数字,在这个例子中是11 =INDEX(list;MATCH(MIN(ABS(list-reference_number));ABS(list-reference_number);0)) 但我希望结果是16,第二高的数字 我想知道这是否可能,我如何才能做到。 提前谢谢 自Match

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

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

十, 11 16 20 三十

我的参考号是13

我在网上找到了一个公式,给出了最接近的数字,在这个例子中是11

=INDEX(list;MATCH(MIN(ABS(list-reference_number));ABS(list-reference_number);0))
但我希望结果是16,第二高的数字

我想知道这是否可能,我如何才能做到。 提前谢谢

自MatchReference之后,列表将返回最接近13的值。这意味着MatchReference,list+1将返回您要查找的结果:

要使用的公式:

=INDEX(C1:C5,MATCH(13,C1:C5)+1)
由于MatchReference,列表将返回最接近13的值。这意味着MatchReference,list+1将返回您要查找的结果:

要使用的公式:

=INDEX(C1:C5,MATCH(13,C1:C5)+1)
如果列A包含数字(可以不排序),您可以通过以下方式获得最接近的较高数字:

{=MIN(IF($A:$A>B1,$A:$A,MAX($A:$A)+1))}
B1包含您案例13中的参考号

注意:这是一个示例。你不必输入花括号。相反,粘贴不带{和}的公式,并按Ctrl+Shift+Enter确认输入。

如果A列包含数字,可以取消排序,您可以使用以下命令获得最接近的较高数字:

{=MIN(IF($A:$A>B1,$A:$A,MAX($A:$A)+1))}
B1包含您案例13中的参考号


注意:这是一个示例。你不必输入花括号。相反,粘贴不带{and}的公式,然后按Ctrl+Shift+Enter确认输入。

下面是另一个数组公式,您可以尝试Ctrl+Shift+Enter:


下面是另一个数组公式,您可以尝试按Ctrl+Shift+Enter组合键:


不确定您的数字列表与公式的关系-有5个数字,但您引用了100行。但是,如果你可以将数字按降序排列,你可以使用一个公式,比如=INDEX$a$1:$a$5,MATCH13,$a$1:$a$5,-1不确定数字列表与公式的关系-有5个数字,但你引用了100行。但是,如果你能将数字按降序排列,你可以使用一个公式,比如=INDEX$a$1:$a$5,MATCH13,$a$1:$a$5,-1列表就是一个例子,在实数列表中有更多的数字,在实数列表中,数字会发生变化。所以数字不是绝对的。我有一个最简单的解释。如果我的参考号是13,那么结果必须不低于13。它必须是列表中第二高的数字。这正是我建议的公式所做的。我不知道你还想要什么。在:=INDEXC1:C5,MATCHTRUE,INDEXC1:C5>13,之后可能会有更多,,0@JvdV很抱歉,这是一个稍微过时的话题!我认为公式不正确-请注意,如果您将单元格C3当前的16更改为更高的值,例如66,那么您的公式将返回66。我怀疑OP希望看到下一个最高值,在这种情况下是20。如果数字序列确实不符合逻辑,那么您是绝对正确的。列表就是一个例子,在实数列表中有更多的数字,在实数列表中,数字会发生变化。所以数字不是绝对的。我有一个最简单的解释。如果我的参考号是13,那么结果必须不低于13。它必须是列表中第二高的数字。这正是我建议的公式所做的。我不知道你还想要什么。在:=INDEXC1:C5,MATCHTRUE,INDEXC1:C5>13,之后可能会有更多,,0@JvdV很抱歉,这是一个稍微过时的话题!我认为公式不正确-请注意,如果您将单元格C3当前的16更改为更高的值,例如66,那么您的公式将返回66。我怀疑OP希望看到下一个最高值,在这种情况下是20。如果数字序列确实不符合逻辑,那么您是绝对正确的。