Excel 中根据一个条件查找非常方便,Excel 提供了内置函数 VLOOKUP。但是实际中往往有多种情形,需要根据多个条件进行查找操作,目前没有现成的内置函数。
本篇介绍 VLOOKP+CHOOSE 组合查找公式,可根据任意条件数量进行查找。
下面以两个条件进行查找为例,介绍 VLOOKP+CHOOSE 组合查找公式。
问题
如下图,现有一二手房价格表,表中记录了不同小区和不同户型的房子的价格。现需要根据小区和户型,找到对应的价格。
公式思路
- 主体使用 VLOOKUP 函数进行查找;
- VLOOKUP 函数第一个参数:查找值。本例是小区和户型,需要将它们连接为一个文本;
- VLOOKUP 函数第二参数:查找区域。查找区域的第一列必须是合并后的小区和户型列,第二列应是价格列;
- CHOOSE 函数结合数组公式,可以对多列进行连接合并后,与其他列组合成新的区域。
- VLOOKUP 函数的第三个参数,返回值列号。CHOOSE 函数返回的区域第二个列就是价格列。
- VLLOKUP 函数第四个参数,查找模式。本例中是精确查找,即 FALSE。
通用公式
根据以上思路可以写出 VLOOKUP + CHOOSE + 数组公式组合的查找公式。通用公式如下:
{=VLOOKUP(条件1&条件2, CHOOSE({1,2},条件1列&条件2列,返回值列), 2, FALSE)}
注意,此公式是数组公式,需要以三键输入:CTRL + SHIFT + ENTER
。
本例中,具体公式如下:
{=VLOOKUP(C13&C14,CHOOSE({1,2},B3:B10&C3:C10,D3:D10),2,FALSE)}
三条件查找公式实例
3个及以上条件公式与 2 个条件公式类似,只需要修改查找值和CHOOSE 函数第二个参数。通用公式如下:
{=VLOOKUP(条件1&条件2&...&条件n, CHOOSE({1,2},条件1列&条件2列&...&条件n列,返回值列), 2, FALSE)}
注意,公式是数组公式,需要以三键输入。
以3条件查找为例,具体公式如下:
{=VLOOKUP(C13&C14&C15,CHOOSE({1,2},B3:B10&C3:C10&D3:D10,E3:E10),2,FALSE)}