发布网友 发布时间:2022-04-24 09:03
共2个回答
热心网友 时间:2022-06-18 08:38
建议百度下lookup的查找机制,了解下lookup是如何实现查找的。
lookup有两种方式:向量方式和数组方式,你的公式属于用到lookup的向量方式,Excel的帮助文件是这样说的:
向量形式
LOOKUP 的向量形式在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。
语法
LOOKUP(lookup_value, lookup_vector, [result_vector])
LOOKUP 函数向量形式语法具有以下参数:
lookup_value 必需。 LOOKUP 在第一个向量中搜索的值。 Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。
lookup_vector 必需。 只包含一行或一列的区域。 lookup_vector 中的值可以是文本、数字或逻辑值。
重要: lookup_vector 中的值必须按升序排列:..., -2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE;否则,LOOKUP 可能无法返回正确的值。 文本不区分大小写。
result_vector 可选。只包含一行或一列的区域。result_vector 参数必须与 lookup_vector 参数大小相同。其大小必须相同。
请注意帮助文件提示的“重要”,对照你的公式,lookup_vector 就是你的B列,必须升序,而实际数据却是降序的。这就是公式出错的原因。
解决办法,可以用Vlookup的反列方式,用IF({1,0},B$3:B$408,A$3:A$408)把AB列数据兑换后来查找,即:
=VLOOKUP(C3,IF({1,0},B$3:B$408,A$3:A$408),2)
更易理解的是用INDEX+MATCH:
=INDEX(A$3:A$408,MATCH(C3,B$3:B$408,-1))
PS:没有看到工作表,B列数据降序的推断是按截图数据来判断的,如果不是,那公式就要修改了。
热心网友 时间:2022-06-18 08:38
建议问题中使用中文表格。
说明要在哪儿写公式,公式要达到什么目的,这些在你的提问中看不到。