Excel 多条件查找公式(VLOOKUP+CHOOSE)
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)}
大神,你好。请问vlookup可以对比差异用,但是如果出现了一个这样情况:两张表对比差异,表1有表2没有的,表2有表1没有的,这个时候再用vlookup是否适用呢,它可以把这两张表的差异都找出来吗?呢么这个时候,找出都没有的部分应该怎么办呢?请指教,谢谢
请参考这篇文章:Excel 公式:对比两列数据,提取相同和不同
用if((0,1),,)替换一样的
用ACCESS会不会更便捷
看数据在哪里。原本就在Excel里,那用ACCESS就事倍功半了
单条件查找呢?
参考这篇:https://www.lanrenexcel.com/excel-index-match-lookup/
Choose只能在工作表内使用。工作表或工作簿间的多条件查找怎么处理呢?
工作表间查找可参考
=VLOOKUP(A1,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT({“jt1″;”kf1″;”zz1″;”yf1″}&”!b:b”),A1),{“jt1″;”kf1″;”zz1″;”yf1″})&”!b:ar”),2,0)
请问indirect函数里面的jt等代表什么呀?谢谢
先引用到一张表中,用完复制覆盖或者隐藏掉即可。
可以给出实际的例子吗?
棒!非常实用啊
为什么只显示公式不显示结果
如果是office365,已经不需要外面的“{}”了。直接等于,打回车即可
可能是没有三键输入公式
我太菜了 求问为什么报错
这是数组公式,需要以 ctrl+shift+enter 输入
&连字符连接的两个条件列不能是整列吗?
可以是一列,不过返回值列也需要是整列引用