如果单个维度的查找数据,其实很简单,用vlookup就可以了,但是往往我们需要多维度的查找,那怎么办呢?用什么方法呢?如果筛选,那就太浪费时间了。而且要查找的数据比较多的话,那会看瞎眼的。下面我们说一下一个神奇的公式。
首先看公式,我们先解释一下这个公式的用法。
LOOKUP(lookup_value,lookup_vector,result_vector)
■ Lookup_value 为函数 LOOKUP 在第一个向量中所要查找的数值。
lookup_value 可以为数字、文本、逻辑值或包含数值的名称或引用。
■ Lookup_vector 为只包含一行或一列的区域。lookup_vector 的数值可以为文本、数字或逻辑值。
■ Result_vector 只包含一行或一列的区域,其大小必须与 lookup_vector 相同
以上是官方比较普通的解释,而且直接按照这个说法使用的话,会出现查找不精确的现象。我说一下我们的高阶用法。
lookup_value:这个是要查找的值。一般是1,下面会说到为什么是1.
lookup_vector:这个是要查找的范围,也就是lookup_value是在哪个范围里面查找的。高阶用法是要我们自己创造新的向量,在这些向量里面,只有一个值是1,也就是我们要找的结果,其他值都是0.
result_vector:要返回的结果,也就是前面两个元素找到之后所对应的值。
看下面的例子:
如果我们想找以下内容所对应的PCS,怎么使用这个公式呢?如果筛选,这里是不是要筛选三次?如果再多几个维度,是不是要再筛选多几次呢?但是这个公式就很方便了。
这里是数据只有2个PO,2行,3列,如果数据多到1000行,也是一样的道理哈。2行,3列就是一个向量了。看公式:
=LOOKUP(1,0/((Z12=A:A)*(AA12=B:B)*(AB12=C:C)),S:S)
第一项lookup_value是1。
第二项lookup_vector,这个是我们自己创造的向量、0/((Z12=A:A)*(AA12=B:B)*(AB12=C:C),Z12是我们要查找的PO4500123022所在的位置,A:A是PO4500123022所在的范围,也就是A列。AA12是CNT NO. 1所在的位置,B:B是它所在的范围,也就是B列。AB12同理。其他的符号括号照抄就行了。这样我们就创造了一个2行3列的向量。
第三项result_vector:要返回的结果,也就是S列对应的值了,S列是PCS所在的列。最后的结果如下:
看到没有,PCS已经找出来了,如果要查找多项,往下填充数据就行了,秒定。最后根据需要做成模板,平时用起来就方便很多啦。
领取专属 10元无门槛券
私享最新 技术干货