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)}
请问{1,2}是什么意思呢?
这是结合数组公式使用的,表示CHOOSE函数的第一个参数,分别选择两次。
拯救我!!
请问这个公式不能往下拉齐吗?只能查找单个数据,不能往下复制公式,求大神解答
文章里的公式不能继续往下拉,但是可以改成复制到其他行的形式。
1、把两个条件分别放到两列,例如F、G列,从第二行开始填写其他条件;
2、公式里的引用单元格改成新的单元格地址;
3、公式里的区域引用单元格转换成绝对引用方式;
然后就可以往下复制使用了。
可以的 用F4锁定工事里的单元格,把【A1】变成【$A$1】,这样下拉的时候被锁定的单元格就不会变了
原理层面可以锁定往下拉,但是本篇中的参数单元格是竖向排列的,向下拉也没有用,还是那些参数条件,没有意义。
所以按如上评论一样,先把参数条件转换成水平排列,再锁定后往下拉复制。
你好,好像这个式子 不加CHOOSE 函数,也可以Vlookeup出接过来
是如何不加的,可以贴一下具体的公式吗?
两个条件匹配多个结果的公式要怎么操作呀
一个思路:参考这篇文章Excel 使用关键词搜索并返回多个匹配的数据,再结合辅助列可以实现
有没有方法引用一个查找值固定,但是查找值的查找项有带备注且不能删除的公式
光从文字描述无法确认准确的需求,可以给个示例吗,包括数据区域、返回值等。
13
14
a
15
16
c
17
18
b
19
20
这是一个c两个合并的行,c使我们要找的查找值,a和b是c行里面没合并但是同列的单元格,13,14是单元格里面已经换行的数据,就是想通过查找c确定13
抱歉,实在没有推断出来数据是怎么分布的,要不然加微信沟通吧,office-guy
很棒,多重条件赛选&并行
一个内容要返回多种数值,而且返回的数值要在一个单元格内做可供选择,这种情况要如何输入函数
需求不是很明确,可以进一步描述一下吗
为啥我使用vlookup函数只能出现#N/A,要不就是错误的呢
注意,此公式是数组公式,需要以三键输入:CTRL + SHIFT + ENTER。
三键输入也不行,显示引用错误单元格
大神,你好。请问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 输入
&连字符连接的两个条件列不能是整列吗?
可以是一列,不过返回值列也需要是整列引用