我希望您解释为什么这个公式有效:=LOOKUP(2,1/(A2:A10=D2),B2:B10)
我知道查找,我知道这个公式是做什么的(下面的公式搜索A2:A10为D2中最后一个值的实例,并从B2返回相应的值:B10 ......)但我不明白这个怎么运作。例如,这部分做了什么:A2:A10 = D2?
以下是您可以在其中找到工作簿的来源:http://www.xl-central.com/lookup-last-instance.html
答案 0 :(得分:2)
LOOKUP(lookup_value, lookup_vector, [result_vector])
LOOKUP function是HLOOKUP function和VLOOKUP function的一个非常基本的表亲。后两者提供了额外的功能,用于选择要从 table_array 参数( row_index_num / col_index_num )以及 range_lookup 返回的数据行/列>当与排序数据一起使用时,可以强制完全匹配或近似(也称为最近)匹配的选项。 LOOKUP
函数必须指定 result_vector (返回行或列),如果它与 lookup_vector 不同,并且始终返回最接近的匹配。< / p>
当数学使用时,Excel将TRUE视为1,将FALSE视为零。 1 除以 1 将等于 1 , 1 除以 0 为#DIV/0!
错误。#DIV/0!
#DIV/0!
错误与任何内容都不匹配;甚至没有另一个{{1}}错误。由于您正在寻找 2 ,它会找到可能在第2行中最佳匹配的内容(例如1/1),但由于它不是完全匹配。它在第5行中找到另一种可能但仍在继续寻找。它在第8行中找到了另一种可能,并且在下面找不到远处关闭的任何内容,因此它返回第8行中第B列的值。我们希望将 2 与 1 <上的系列相匹配/ em>&#39;和错误,因为我们想要最后一次匹配。
出于所有意图和目的,当使用这种类型的公式时,您违反了规则,因为 lookup_vector 不是按升序排列的(通常应该是这样)。通过未分类的重复值,我们依靠功能“破坏”来实现正确的结果。寻找一个永远无法找到的价值的行为;例如在 1 和错误的数组中寻找 2 。