我们先来复习一下VLOOKUP函数的基础知识:
一、一维表的多条件查找
如下图,我们要查找某一日期某个水果的销售额。
解题思路:
在查找【日期】的同时也要查找【名称】,存在查找多个条件的情况,我们需要形成唯一查找值,从而使用VLOOKUP函数来解决问题。
在本例中,要将【日期】和【名称】两者结合成唯一值,我们可以用文本连接符(&)连接起来。
方法一:插入辅助列
1、在【日期】列前面插入辅助列,A2单元格输入公式:
=B2&C2
待鼠标光标变成实心十字时,双击向下填充公式。
2、编辑公式在H2单元格输入公式
=VLOOKUP(F2&G2,$A$2:$D$13,4,0)
方法二:不使用辅助列
我们不使用辅助列也可以用VLOOKUP函数来解决。
直接在G2单元格中输入公式:
=VLOOKUP(E2&F2,IF({1,0},A2:A13&B2:B13,C2:C13),2,0)
按【CTRL+SHIFT+ENTER】组合键结束公式输入。
公式解释:
1、查找值:E2&F2
表示将E2单元格和F2单元格的内容合并后作为查找值。
2、查找区域:IF({1,0},A2:A13&B2:B13,C2:C13)
这是一个数组公式,{1,0}是一个数组常量,用于控制IF函数的逻辑。
整个IF函数的逻辑是:
当{1,0}中的值为1时,返回A2:A13&B2:B13的合并结果。
当{1,0}中的值为0时,返回C2:C13的值。
3、找第几列:由于{1,0}是一个数组,所以这个公式实际上是创建了一个两列的数组:
第一列是A列和B列内容的合并。
第二列是C列的内容。
VLOOKUP函数使用这个数组作为查找范围,尝试找到E2&F2合并后的值,并返回对应的第二列(即C列)的值。
注意:由于使用了{1,0},这是一个数组公式,所以在输入这个公式后,需要使用【Ctrl+Shift+Enter】来完成输入,而不是仅按【Enter】键。
总结:这个函数的作用是,在A列和B列合并的值中查找与E2和F2单元格合并后的值相匹配的项,并返回对应的C列中的值。如果没有找到匹配项,则返回错误。
二、二维表的多条件查找
如下图,我们要查找某人某月份的销售额,这种多条件查找应该如何实现呢?
方法一:
如果是查找某人2月份的销售额,我们可以直接编辑公式:
=VLOOKUP(H3,A2:F12,3,0)
但现在月份是不固定的,我们就不知道到底是查找第几列了。
也就是说,当选择不同的月份,需要手动更改VLOOKUP函数的第3个参数,这样是比较麻烦的。
方法二:
这个时候,我们需要借助一个新的函数:
MATCH函数
常用用法:查找某项值在某个范围中排第几。
语法:MATCH(要找谁,在哪找,0)
如下图中,“要找谁”是“2月”,“在哪找”是“A1:F1”。“2月”在“A1:F1”中排第几呢?计算结果为3。
公式:MATCH(I3,A1:F1,0)
由于公式是动态的,当I3单元格为其他月份时,公式会自动查找结果。
这时,解决问题的最终公式就出来了:
=VLOOKUP(H3,A2:F12,MATCH(I3,A1:F1,0),0)
我们可以把【姓名】和【月份】设置为下拉菜单,选择不同的姓名和月份,都会快速显示正确的销售额。
结论:多条件查找仍然是“回归”到VLOOKUP函数的基础用法,所以无论条件怎么变化,只要找到能“回归”到基础用法的方法,再难的问题也可以轻松解决。
关注柚一Excel,每天学习一个小技巧!