
说起查找函数,大家可能会马上想到VLOOKUP,因为它用的比较多。
但这个查找是有条件的,即:要查找的值要在查找区域的第一列,查找结果在此区域的后面(右边)几列中。
在实际操作中,我们常常也会遇到这样的情况:被查找值在表格区域中的某一列,查找的结果值却在此列的左边列中,即结果需要反向查找。此时,如果用VLOOKUP函数,其中的“在哪儿找”这个参数就要再加一个IF函数才能得到正确结果。
它的公式参数变化如下:
=VLOOKUP(找什么,IF({1,0},查找列,结果列),找到后返回第2列,0精确查找),如图1

(图中是根据“金额”列,查找反向的“类别”列中的结果。)
公式中的IF函数:“IF({1,0},查找列,结果列)”相当于把原公式参数中的“在哪儿找”的区域,用IF缩减调整成了两列。。
或者,你也可以理解成这部分操作把反向查找置换成我们常用的正向查找了。
用这样的VLOOKUP函数,反身查找的问题虽然得到了解决,但不够简单。而且,不便多条件查找。
如果用LOOKUP这个万能查找函数,就能让操作更简便。
参数含义如下:
=LOOKUP(1,0/((查找列1=查找条件1)*(查找列2=查找条件2)),要返回的结果列)
如图2,是单条件反向查找的情况。

(同样是根据“金额”列,求反向“类别”列中的内容,这个公式是不是简便多了?)
至于多条件查找,理解、操作都不难。
如,在C列中查找符合“1224”,在B列中符合“猕猴桃”的日期是哪一天,就可以用公式LOOKUP(1,0/((C2:C34=D6)*(B2:B34=E6)),A2:A34)
如下图,F6中是查到的结果

当然,LOOKUP公式中也可以不用1,0这种格式,直接用相关参数查找,它的参数含义为:
=LOOKUP(查找条件,要查找的列,结果所在列)。
但它的前提条件是,查找条件要按升序排列,否则结果是错误的。
如下图中,查找条件“金额”没按升序排列,N列的结果是错乱的,与B列中对应的内容不一样。

但把查找条件按升序排列,会打乱原有表格顺序,实际使用中不太方便,感兴趣的人可以偿试了解一下。

网友评论