使用 Excel 在另一列中查找下一个最高值

使用 Excel 在另一列中查找下一个最高值

我有两列 A 和 B。

 A          B
 20        100
 40        200
 60        300
 80        400
140        500
190        600
240        700

用户在单元格中输入一个值。我需要检查用户输入的值与 A 列中的值,并在 B 列中输出与 A 中最接近的较高值相对应的值。例如,如果用户输入 90,则输出应为 500。如果用户输入 41,则输出应为 300。

答案1

最简单的方法可能是插入0A2通过分流其余部分为其腾出空间)然后应用=VLOOKUP(C2,A:B,2)(假设要查找的值在 中C2)。这将返回0240 或更多。

答案2

不要使用 VLOOKUP。使用 INDEX-MATCH:

=INDEX(Return_value_range, MATCH(Lookup_value, Lookup_value_range, Match_type))

返回值范围 - 保存返回值的范围

Lookup_value – 您想要在查找值数组中查找的值

Lookup_value_range – 包含查找值的范围

Match_type – 精确 (0)、最接近大于 (-1) 或最接近小于 (1)

因此在您的示例中,您的等式看起来将是这样的:

=INDEX(B1:B7,MATCH(NUMBERYOUARELOOKINGFOR,A1:A7,-1))

唯一需要注意的是,当您使用 -1(最接近大于)时,您的列表需要按降序排列。不过,如果使用巧妙的函数,这可能会被破坏。

答案3

LOOKUP 函数的语法是:

LOOKUP( 值, 查找范围, [结果范围] )

价值是在 lookup_range 中搜索的值。

查找范围是按升序排列的单行或单列数据。LOOKUP 函数在此范围内搜索值。

结果范围是可选的。它是与 lookup_range 大小相同的单行或单列数据。LOOKUP 函数在 lookup_range 中搜索值并从 result_range 中的相同位置返回值。如果省略此参数,LOOKUP 函数将返回第一列数据。

笔记

  • 如果 LOOKUP 函数找不到完全匹配,它会选择 lookup_range 中小于或等于该值的最大值。

  • 如果该值小于lookup_range中的所有值,则LOOKUP函数将返回#N/A。

  • 如果 LOOKUP_range 中的值未按升序排序,则 LOOKUP 函数将返回错误的值。

VLOOKUP 的使用

VLOOKUP(值,表格数组,索引号,[不完全匹配])

添加范围查找参数

Range_lookup 参数是一个逻辑值(仅 TRUE 或 FALSE),指示您是否希望 VLOOKUP 找到与 Lookup_value 完全匹配或近似匹配的值。

如果真的或者如果省略此参数,VLOOKUP 将使用近似匹配(如果无法找到与 Lookup_value 完全匹配的值)。如果未找到完全匹配的值,VLOOKUP 将返回小于 Lookup_value 的下一个最大值。

如果错误的,VLOOKUP 将仅使用与 Lookup_value 完全匹配的值。如果 Table_array 的第一列中有两个或多个值与 Lookup_value 匹配,则使用找到的第一个值。如果未找到完全匹配的值,则#N/A 错误被返回。

在此处输入图片描述

相关内容