预备知识

match indexvlookup函数 和双条件查找匹配

1.vlookup函数用法

=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
参数1:你要查找的值;
参数2:在那个区域进行查找
参数3:最终结果位于参数2的第几列
参数4:键入0,表示精确查找,键入1,表示模糊查找

vlookup、hlookup、lookup函数的用法和三者的区别

Vlookup和Hlookup函数的区别就在于它们的第一个参数:

V是Vertical的的第一个字母,垂直方向,Vlookup表示垂直方向查找
H是Horizontal的第一个字母,水平方向,Hlookup表示水平方向查找。

二者的语法除了查找方向外,其他完全相同
LOOKUP(lookup_value, lookup_vector, [result_vector])

2.match和index

match函数用法,index函数用法,用matchindex函数实现vlookup功能
match函数用法
MATCH(lookup-value,lookup-array,match-type) (返回指定内容所在的位置)
参数1:表示要在区域或数组中查找的值,可以是直接输入的数组或单元格引用
参数2:表示可能包含所要查找的数值的连续单元格区域,应为数组或数组引用
参数3:表示查找方式,用于指定精确查找或模糊查找。取值为1,0 。其中0为精确查找,1为模糊查找
index函数用法
INDEX(array,row-num,column-num) (返回制定位置中的内容)
参数1:要返回值的单元格区域或数组
参数2:返回值所在的行号
参数3:返回值所在的列号

双条件查找

https://jingyan.baidu.com/article/fd8044faf87ea55031137af6.html

{=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B12,Sheet2!12,Sheet2!C2:2:C$12),2,FALSE)}

请注意,如上的公式是数组公式,输入的方法是,先输入

=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B12,Sheet2!12,Sheet2!C2:2:C$12),2,FALSE) 之后,再按新Ctrl+Shift+Enter组合键,才会出现大括号。大括号是通过组合键按出的,不是通过键盘输入的。

公式解释:

①VLOOKUP的解释

VLOOKUP函数,使用中文描述语法,可以这样来理解。

VLOOKUP(查找值,在哪里找,找到了返回第几列的数据,逻辑值),其中,逻辑值为True或False。

A2&B2相当于要查找的值。等同于A2和B2两个内容连接起来所构成的结果。所以为A2&B2,理解为A2合上B2的意思。

IF({1,0},Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B12,Sheet2!12,Sheet2!C2:2:C$12)相当于要查找的数据

2代表返回第二列的数据。最后一个是False。

②IF({1,0}的解释

IF({1,0},Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B12,Sheet2!12,Sheet2!C2:2:C$12)相当于VLOOKUP函数中的查找数据的范围。

由于本例子的功能是,根据Sheet1中的A列数据和B列数据,两个条件,去Sheet2中查找首先找到对应的AB两列的数据,如果一致,就返回C列的单价。

因此,数据查找范围也必须是Sheet2中的AB两列,这样才能被找到,由于查找数据的条件是A2&B2两个单元格的内容,但是此二单元格又是独立的,因此,要想构造查找范围,也必须把Sheet2中的AB两列结合起来,那就构成了Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B$12;

Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B$12:相当于AB两列数据组成一列数据。

那么,前面的IF({1,0}代表什么意思呢?

IF({1,0},相当于IF({True,False},用来构造查找范围的数据的。最后的Sheet2!$C2:2:C$12也是数据范围。

现在,整个IF({1,0},Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B12,Sheet2!12,Sheet2!C2:2:C$12)区域,就形成了一个数组,里面存放两列数据。

第一列是Sheet2AB两列数据的结合,第二列数据是Sheet2!$C2:2:C$12。

公式{=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B12,Sheet2!12,Sheet2!C2:2:C$12),2,FALSE)}中的数字2,代表的是返回数据区域中的第二列数据。结果刚好就是Sheet2的C列,即第三列。因为在IF({1,0}公式中,Sheet2中的AB两列,已经被合并成为一列了,所以,Sheet2中的第三列C列,自然就成为序列2的列编号了,所以,完整的公式中,红色的2代表的就是要返回第几列的数据。

上面的完整的公式,可以使用如下两种公式来替代:

=VLOOKUP(A2&B2,CHOOSE({1,2},Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B12,Sheet2!12,Sheet2!C2:2:C$12),2,FALSE)

=VLOOKUP(A2&B2,IF({TRUE,FALSE},Sheet2!$A2:2:AKaTeX parse error: Expected 'EOF', got '&' at position 3: 12&̲Sheet2!B2:2:B12,Sheet2!12,Sheet2!C2:2:C$12),2,FA

任务一

用vlookup函数 查找以下公司的companyId | companyFullName | |:----| | 上海云贝网络科技有限公司 | | 携程计算机技术(上海)有限公司 | | 浙江康健绿线网络技术有限公司 | | 久亿财富(北京)投资有限公司 | | 杭州木瓜科技有限公司 | | 思特沃克软件技术(成都)有限公司 | | 北京金山云网络技术有限公司 |
Excel入门课程 Task3

任务二

用match和index函数实现第一题的功能
Excel入门课程 Task3

任务三

matchindex函数查找以下id对应的公司名称,注意id是横向排列的| companyId | 127200 | 151079 | 22225 | |----|----|----|----|
Excel入门课程 Task3

任务四

请根据companyIdpostionId两个条件查找对应的工资水平| companyId | positionId | salary | |:----|:----|:----| | 62 | 938038 | | | 1575 | 1157620 | | | 157392 | 2574696 | |
请思考,是否会存在相同的公司id和职位di对应多种工资水平,如果有请查找出来。 并思考,如果存在多种的情况,目前的公式还能不能用?
Excel入门课程 Task3
注意:先输入数组表达式,最后进行运算是:用ctrl+shift+enter,才会出现{ }这个符号。
参数1:条件1与上条件2,共同构成条件,也就是告诉我们要去寻找那些问题的答案。
参数2:if({1,0})照写就成,随后的$部分,表示在那个区域进行寻找。
参数3:我们答案位于选中区域的第几列,显然这个题目的salary位于第二列。
参数4:0表示,精确查找。

相关文章:

  • 2021-11-13
  • 2021-04-26
  • 2021-05-24
  • 2021-07-02
  • 2021-04-11
  • 2022-12-23
  • 2021-12-04
  • 2022-01-12
猜你喜欢
  • 2021-08-01
  • 2021-08-17
  • 2021-04-07
  • 2021-12-15
  • 2022-12-23
  • 2021-09-03
  • 2022-12-23
相关资源
相似解决方案