excel,index和match函数

这个是什么意思?

index和match分别是什么作用?

可以使用vlookup吗?

公式=INDEX(B$2:D$4,MATCH(B7,A$2:A$4,0),MATCH(A7,B$1:D$1,0))

公式表示:通过INDEX将B2:D4作为引用区域,通过MATCH(B7,A$2:A$4,0)返回行数2,通过MATCH(A7,B$1:D$1,0)返回列数3,以行数和列数交叉的位置,作为引用单元格,即D3单元格。

 

VLOOKUP函数输入

=VLOOKUP(B7,A$2:D$4,MATCH(A7,A$1:D$1,0))

HLOOKUP函数输入

=HLOOKUP(A7,$1:$4,MATCH(B7,A$1:A$4,0))

 

详见附图

 

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-17
MATCH(要查找的内容,查找的区域,精确查找或近似查找)
这个函数可以返回要查找的内容在查找区域中的位置,参数0为精确查找,参1为近似查找

=MATCH(B7,A2:A4,0) 按图中得出的值应为2
意思就是在A2至A4单元格区域中精确查找与B7单元格内容相同的单元格在这列区域中是第几个
=MATCH(A7,B1:D1,0) 按图中得出的值应为3
意思就是在B1至D1单元格区域中精确查找与A7单元格内容相同的单元格在这行区域中是第几个

INDEX(待返回值所在的单元格区域,第某行,第某列)
这个函数可以返回在指定区域中第某行第某列所在的单元格内容


=INDEX(B2:D4,2,3) 按图中得出的值应为D3单元格内容即40
在B2单元格至D4单元格中的第二行就是表格中的第三行,第三列就是D列,所以值为D3

如,取A列单元格区域中第5行的值,则公式为
=INDEX(A:A,5) 即返回A5单元格内容

如取第二行单元格中第10列的值,公式为
=INDEX(2:2,10) 即返回J2单元格内容

如在A列至G列行数为1至100行的单元格区域中找第23行,第4列单元格的内容,则公式为
=INDEX(A1:G100,23,4) 即返回D23单元格的内容

$是绝对引用符号

A1相对引用
$A1绝对引用列
A$1绝对引用行
$A$1绝对引用行和列
$在谁的前面就绝对引用谁
F4是在四种引用间相互转换的快捷键(在编辑栏输入公式时按下F4功能键可进行切换)

相对引用、绝对引用和混合引用是指在公式中使用单元格或单元格区域的地址时,当将公式向旁边复制时,地址是如何变化的。
具体情况举例说明:
1、相对引用,复制公式时地址跟着发生变化,如C1单元格有公式:=A1+B1
当将公式复制到C2单元格时变为:=A2+B2
当将公式复制到D1单元格时变为:=B1+C1
2、绝对引用,复制公式时地址不会跟着发生变化,如C1单元格有公式:=$A$1+$B$1
当将公式复制到C2单元格时仍为:=$A$1+$B$1
当将公式复制到D1单元格时仍为:=$A$1+$B$1
3、混合引用,复制公式时地址的部分内容跟着发生变化,如C1单元格有公式:=$A1+B$1
当将公式复制到C2单元格时变为:=$A2+B$1
当将公式复制到D1单元格时变为:=$A1+C$1
规律:加上了绝对地址符“$”的列标和行号为绝对地址,在公式向旁边复制时不会发生变化,没有加上绝对地址符号的列标和行号为相对地址,在公式向旁边复制时会跟着发生变化。混合引用时部分地址发生变化。
http://office.microsoft.com/zh-cn/excel-help/HP010342940.aspx?CTT=1
http://office.microsoft.com/zh-cn/mac-excel-help/HA102928059.aspx?CTT=1

如果你要用VLOOKUP函数,则公式可以写成
=VLOOKUP(A7,A$2:$D$4,MATCH(B7,B$1:D$1,)+1,)

=VLOOKUP(A7,A$2:$D$4,MATCH(B7,A$1:D$1,),)本回答被网友采纳
第2个回答  2014-04-17
按照你的公式我来给你解释:
match是B7在A2到A4当中排列第几,你可以看到B7是夹克,夹克在A2到A4当中排列第2. 所以MATCH(B7,$A$2:$A:4,0) 的结果是2. 同理,MATCH(A7,$B$1:$D1:4,0) 的结果是排行老三,所以结果是3.

index是从单元格B2:D4覆盖的区域中最左上角的单元格也就是B2开始数起,往下第MATCH(B7,$A$2:$A:4,0)个,再往右第MATCH(A7,$B$1:$D1:4,0)的单元格。 那刚才也说了MATCH(B7,$A$2:$A:4,0)=2,MATCH(A7,$B$1:$D1:4,0)=3, 所以可以解释为从单元格B2数起,往下第二个(B2是第一个,往下第二个则是B3),再往右第三个(B3是一个,往右数第三个),则是D3,所以结果是40
第3个回答  2014-04-17
MATCH(lookup_value,lookup_array,match_type)
lookup_value为要搜索的值。
lookup_array:要查找的区域(必须是一行或一列)。
match_type:匹配形式,有0、1和-1三种选择:"0"表示一个准确的搜索。"1"表示搜索小于或等于查换值的最大值,查找区域必须为升序排列。"-1"表示搜索大于或等于查找值的最小值,查找区域必须降序排开。以上的搜索,如果没有匹配值,则返回#N/A.
A1:A7分别是A B C D E F G ,这个时候D1输入=match(F,a1:a7,0) 返回值就是6("F"在A1:A7中的行号)这是基本的原理。
INDEX(array,row_num,column_num) 返回数组中指定单元格或单元格数组的数值。
Array为单元格区域或数组常数。
Row_num为数组中某行的行序号,函数从该行返回数值。
Column_num为数组中某列的列序号,函数从该列返回数值。需注意的是Row_num 和 column_num 必须指向 array 中的某一单元格,否则,函数INDEX 返回错误值 #REF!。
第4个回答  2014-04-17
index----返回指定的行与列交叉处的单元格引用
index($B$2:$D$4,2,3)------返回$B$2:$D$4这个区域中第2行(从B2开始往下数的第2行,相当于实际的第3行)第3列(D列)也就是D3的数据

第一个match用于计算在该区域的第几行。
第二个match用于计算在该区域的第几列
相似回答