Excel 查找列表条件中最近的值

Excel 查找列表条件中最近的值,excel,excel-formula,match,conditional-statements,Excel,Excel Formula,Match,Conditional Statements,我想找到单元格的最近值,但不知道如何找到 在我的excel工作表中,单元格B1有一个值(列表名),单元格B2有另一个值,将使用条件进行搜索。如果单元格B1的值为GP_42(列表名称),则使用列表GP_42(D4:D13)搜索单元格B2的值。如果单元格B1的值为GP_42(列表名称),则se[![在此处输入图像描述][2]][2]使用列表GP_42(E4:E13)搜索单元格B2的值。如果值不匹配,则结果应为最接近的匹配值。结果应显示在单元格B3中 我假设您想要最接近的值。这意味着您需要GP_42

我想找到单元格的最近值,但不知道如何找到

在我的excel工作表中,单元格B1有一个值(列表名),单元格B2有另一个值,将使用条件进行搜索。如果单元格B1的值为GP_42(列表名称),则使用列表GP_42(D4:D13)搜索单元格B2的值。如果单元格B1的值为GP_42(列表名称),则se[![在此处输入图像描述][2]][2]使用列表GP_42(E4:E13)搜索单元格B2的值。如果值不匹配,则结果应为最接近的匹配值。结果应显示在单元格B3中


我假设您想要最接近的值。这意味着您需要GP_42中的值与搜索值之间的差值的绝对值()

在B3中,作为数组公式

=INDEX(GP_42, AGGREGATE(15, 6, ROW(GP_42)/(ABS(GP_42-B$2)=MIN(ABS(GP_42-B$2))), ROW(1:1))-ROW(GP_42)+1)
我使用了
行(1:1)
来表示数字1。这将为您提供第一个遇到的匹配项。在我的扩展示例中,第三个有两个匹配项,它们满足B9和B10中的“最小差异”。B10通过向下填充实现。这会将
行(1:1)
前进到
行(2:2)
,表示2,并提供第二个可用匹配项



imk_数组公式需要使用Ctrl+Shift+Enter完成↵. 如果输入正确,Excel将公式用大括号括起来(例如{})。您自己不需要键入大括号。正确输入第一个单元格后,可以像任何其他公式一样填充或向下或向右复制它们。尝试将整列引用减少到更接近实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将参考范围缩小到最小值。有关详细信息,请参阅。

您希望最接近的值高于或低于您的搜索值吗?在
gpu 42
中说你有
36200
36400
。您想要哪一个作为“结果值”?是的,我想要列表中最接近的值。如果单元格B1的值为GP_42,则从列表GP_42(单元格参考D3:D12)中选择单元格B2的最近值;如果单元格B1的值为GP_46,则从列表GP_46(单元格参考E3:E12)中选择。