目的:查询函数,范围单元格中搜索特定的项,然后返回该项在此区域中的相对位置。
公式:【= match (要查找的值,查找的区域,匹配方式】
=MATCH(A2,数据源!A:A,0)
第一参数【要查找的值】:可以是文本、数值或逻辑值,本题中是【A2】 CHOPS
第二参数【查找的区域】:即要搜索的单元格区域,本题中要搜索的区域是【数据源】表中的 A 列【客户 ID 】列
第三参数【匹配类型】:本题的匹配类型为【0】精准匹配(最常用精确匹配)
目的:引用函数,根据指定的行和列找到某单元格的内容。
公式:【= index (要查找的区域,查找值的行,查找值的列】
=INDEX(数据源!B:B,15)
第一参数【要查找的区域】:即要搜索的单元格区域,本题中为【数据源】表中【公司名称】所在列 B 列
第二参数【查找值的行】:即要查找的【公司名称】在【要查找的区域】中所在的行数,由上文 match 函数可知,在第【15】行。
第三参数【查找值的列】:选填。即要查找的【公司名称】在【要查找的区域】中所在的列数,由于本题【查找区域】只有 B 列一列,因此可以不填,或填【1】
因此公式为:【=INDEX(数据源!B:B,15)】
=INDEX(数据源!B:B,MATCH(A2,数据源!A:A,0))
目的:用来找到某个单元格在第几列,也就是寻找它的列号。
公式:【= COLUMN (单元格)】
比如,【= COLUMN (C1)】, C 是第三列,所以得到结果为【3】
【= COLUMN ()】括号内什么都不填,会引用到当前所在单元格的列号
(对于多列填充可以引用Vlookup数组来做,会简单很多)
问题:如何根据【客户 ID 】查询【公司名称】【地址】【联系人姓名】【电话】【城市】
当【数据源】表头与【新表】表头一致时:
通俗易懂来解释一下这个数组的底层逻辑
COLUMN(B1:G1)等价于
COLUMN(B1),COLUMN(C1),COLUMN(D1),COLUMN(E1),COLUMN(F1),COLUMN(G1).
意思就是说你不想一个个Vlookup的写,
VLOOKUP(
D
4
,
数据源
!
D4,数据源!
D4,数据源!A:
G
,
C
O
L
U
M
N
(
数据源
!
B
1
)
,
0
)
.
.
.
.
.
V
L
O
O
K
U
P
(
G,COLUMN(数据源!B1),0) ..... VLOOKUP(
G,COLUMN(数据源!B1),0).....VLOOKUP(D4,数据源!
A
:
A:
A:G,COLUMN(数据源!G1),0)
就可以直接用一个数组公式搞定
公式 =VLOOKUP( D 4 , 数据源 ! D4,数据源! D4,数据源!A:$G,COLUMN(数据源!B1:G1),0)
总结:
MATCH、INDEX和VLOOKUP函数是Excel中非常实用的函数的综合应用。MATCH函数用于查找某个值在给定范围内的位置,INDEX函数用于根据行号和列号从给定范围中返回一个值,而VLOOKUP函数用于在指定范围中查找某个值,并返回该值所在行的指定列的值,vlookup更高级用法的就是加入数组用法。