EXCEL里vlookup函数里怎样进行多条件选择?

在选择条件的时候,有条件双重,可是只能显出一个,怎么样能把所有都显出来?

vlookup是一个查找函数,给定一个查找的目标,它就能从指定的查找区域中查找返回想要查找到的值。它的基本语法为:
vlookup(查找目标,查找范围,返回值的列数,精确or模糊查找)
下面以一个实例来介绍一下这四个参数的使用
例1:如下图所示,要求根据表二中的姓名,查找姓名所对应的年龄。
公式:b13
=vlookup(a13,$b$2:$d$8,3,0)
参数说明:
1
查找目标:就是你指定的查找的内容或单元格引用。本例中表二a列的姓名就是查找目标。我们要根据表二的“姓名”在表一中a列进行查找。
公式:b13
=vlookup(a13,$b$2:$d$8,3,0)
2
查找范围(vlookup(a13,$b$2:$d$8,3,0)
):指定了查找目标,如果没有说从哪里查找,excel肯定会很为难。所以下一步我们就要指定从哪个范围中进行查找。vlookup的这第二个参数可以从一个单元格区域中查找,也可以从一个常量数组或内存数组中查找。本例中要从表一中进行查找,那么范围我们要怎么指定呢?这里也是极易出错的地方。大家一定要注意,给定的第二个参数查找范围要符合以下条件才不会出错:
a
查找目标一定要在该区域的第一列。本例中查找表二的姓名,那么姓名所对应的表一的姓名列,那么表一的姓名列(列)一定要是查找区域的第一列。象本例中,给定的区域要从第二列开始,即$b$2:$d$8,而不能是$a$2:$d$8。因为查找的“姓名”不在$a$2:$d$8区域的第一列。
b
该区域中一定要包含要返回值所在的列,本例中要返回的值是年龄。年龄列(表一的d列)一定要包括在这个范围内,即:$b$2:$d$8,如果写成$b$2:$c$8就是错的。
3
返回值的列数(b13
=vlookup(a13,$b$2:$d$8,3,0))。这是vlookup第3个参数。它是一个整数值。它怎么得来的呢。它是“返回值”在第二个参数给定的区域中的列数。本例中我们要返回的是“年龄”,它是第二个参数查找范围$b$2:$d$8的第3列。这里一定要注意,列数不是在工作表中的列数(不是第4列),而是在查找范围区域的第几列。如果本例中要是查找姓名所对应的性别,第3个参数的值应该设置为多少呢。答案是2。因为性别在$b$2:$d$8的第2列中。
4
精确or模糊查找(vlookup(a13,$b$2:$d$8,3,0)
),最后一个参数是决定函数精确和模糊查找的关键。精确即完全一样,模糊即包含的意思。第4个参数如果指定值是0或false就表示精确查找,而值为1
或true时则表示模糊。这里兰色提醒大家切记切记,在使用vlookup时千万不要把这个参数给漏掉了,如果缺少这个参数默为值为模糊查找,我们就无法精确查找到结果了。
1、接下来,我们的任务是通过利用vlookup函数来实现查找同学c的成绩。为此在单元格中输入“=vlookup”,此时就会发现vlookup包括三个参数和一个可选参数。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-27
查找表或数字数组的第一列中的指定值,从而返回到的当前行中在指定的列的值的表或数组。当比较值的第一列中的数据表,你可以使用函数VLOOKUP而不是HLOOKUP。

V代表了VLOOKUP垂直。

语法

VLOOKUP(lookup_value的,Table_Array中,col_index_num,请将range_lookup)

Lookup_value是需要找到阵列的第一列中的值。 Lookup_value可以为数值,引用或文本字符串。

Table_array为需要在哪里可以找到数据表中的数据。可使用的区域或引用,如数据库或列表的名称。

如果range_lookup为TRUE,值吗?在table_array第一列必须按升序排列:...,-2,-1,0,1,...,-Z,FALSE,TRUE;否则,函数VLOOKUP不能返回值。如果range_lookup为FALSE,Table_Array中没有进行排序。

在“数据”菜单选择“升序排序”,值吗??以升序排列。

第一列Table_Array中值?可以是文本,数字或逻辑值。

该文本是不区分大小写的。

Col_index_num匹配的值?的table_array返回的列序号。 col_index_num 1,返回的值?table_array第一列中; col_index_num 2返回的值?table_array第二列中,依此类推。如果col_index_num小于1,VLOOKUP返回错误值#VALUE!Table_Array中col_index_num大于列数,函数VLOOKUP返回错误值#REF!

请将range_lookup一逻辑值,指明函数VLOOKUP返回精确匹配,还是近似匹配。如果为TRUE或省略,则返回近似匹配值,也就是说,如果你不能找到完全匹配的,则返回小于lookup_value的最大值;如果range_value是FALSE,函数VLOOKUP将返回精确匹配。如果没有找到,则返回错误值#N / A

说明

如果函数VLOOKUP不能找到lookup_value的,并range_lookup为TRUE,小于或等于lookup_value的最大值。
如果lookup_value小于table_array第一列中的最小值的函数VLOOKUP将返回错误值#N / A。
如果函数VLOOKUP找不到lookup_value的,range_lookup为FALSE,函数VLOOKUP返回错误值#N / A
例子

如果您将示例复制到一个空白工作表中,可能会更容易理解这个例子。

如何

创建一个空白工作簿或工作表。
选择“帮助”主题中的示例。不要选择行或列标题。

从帮助中选取示例。

按Ctrl + C。
在工作??表中,选中A1单元格,然后按Ctrl + V。
若要在查看结果和查看返回结果的公式之间切换,请按CTRL +`(重音符),或在“工具”菜单上,指向“公式审核”,然后单击“公式审核模式”。
该示例使用的大气。

1
2
3
4
5
6
7
8
9
10
A B C
密度粘度温度
.457 3.55 500
0.525 3.25 400
.616 2.93 300
.675 2.75 250
.746 2.57 200
.835 2.38 150
.946 2.17 100
1.09 1.95 50
1.29 1.71 0
公式说明(结果)
= VLOOKUP(1,A2:C10,2)在A列1和返回值的同一行中列B(2.17)
= VLOOKUP(1,A2:C10,3,TRUE)在A列中的1和返回值从C列在同一行(100)
= VLOOKUP(0.7,A2:C10,3,FALSE)在A列的0.746。 A柱不完全匹配的回报,一个错误值(#N / A)
= VLOOKUP(0.1,A2:C10,2,TRUE)在A列中的0.1。因为0.1小于A列的最小值,所以返回一个错误值(#N / A)
= VLOOKUP(2,A2:C10,2,TRUE)在A列2和返回值的同一行中列B(1.71)
第2个回答  推荐于2018-05-26
=VLOOKUP(条件1&条件2,if({1,0},条件1范围&条件2范围,结果范围),2,)
注意:
1、CTRL+SHIFT+回车 三键结束!--这是数组公式
2、范围大小要保持一致 IF({1,0},A1:A10&B1:B10,C1:C10) 要求这样!

不过可以考虑使用LOOKUP二分法
=LOOKUP(1,0/((范围1=条件1)*(范围2=条件2)),结果范围)本回答被网友采纳
第3个回答  2018-02-01
=VLOOKUP(条件1&条件2,if({1,0},条件1范围&条件2范围,结果范围),2,)
注意:
1、CTRL+SHIFT+回车 三键结束!--这是数组公式
2、范围大小要保持一致 IF({1,0},A1:A10&B1:B10,C1:C10) 要求这样!

不过可以考虑使用LOOKUP二分法!
=LOOKUP(1,0/((范围1=条件1)*(范围2=条件2)),结果范围)
第4个回答  2012-11-02
用IF函数的数组形式,可以分多个数据。
相似回答