INDEX函数与match函数的配合使用问题,在线等。。

A B C D
1 88090080443887 88090052904864 12760001 #N/A

2 88090070704930 88090077302588 12460001 #N/A

3 88090078389957 88090061271015 12410003 #N/A

4 88090079950007 88090077771181 12460001 #N/A

5 88090080074432 88090072235134 12460001 #N/A

6 88090072978556 88090076843799 12510102 #N/A

7 88090074857038 88090081050726 12460001 #N/A

8 88090081223020 88090020843315 12760001 #N/A
D1=INDEX($C$1:$C$362,MATCH(A1,$B$1:$B$362,0),)
此公式对于A/B/C三列的格式有无要求?
D1=VLOOKUP(A1,B1:B8,3,0)可否
列数不是问题,只列举了表的一本分。。

index应该是数字/文本都可以

D1=VLOOKUP(A1,B1:B8,3,0)中,不是特别明白你的目的,按你index的思路,B1:B8,3应该为B1:C8,2追问

思路就是index的思路,,但是使用vlookup函数还是不行啊。index函数没有写错,但得不出返回值

追答

你写的那个vlookup肯定是不对的
你的vlookup函数的意思是:要在B1:B8区域里,找到第一列中等于A1的那一行,并返回这一行的第3列的单元格。
这个第3列是函数选定区域中的第三列,就是从B列开始数的第3列,就是D列,但是D列没有包括在B1:B8这个区域
如果你想返回的是D列,就把区域改成B1:D8,但是你是写在D列单元格里的,是个循环引用

如果你想返回的是C列,就把区域改成B1:C8,并且把3改成2

你写的INDEX返回错误值是因为你套用的MATCH函数有问题
你这里match函数的作用是返回B列中等于A1的数值的位置,并且你的match类型是精确匹配,必须等于,但是你B列中没有等于A列的数,所以excel返回了一个”没有(#N/A)“给你,于是INDEX的参数就是#N/A,结果当然也是#N/A
修改match类型可以返回最接近值,但是B列必须相应是升序或降序的排列

追问

嗯 VLOOKUP函数的确是错的,但是INDEX函数没有写错,得不出返回值,是不是和表格格式有关,因为A列的单元格出现了黄色的感叹号,说什么文本格式或者有撇号。只是列举了表格的一部分,match函数的匹配区域是没有错的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-08
建议: 一、自动打开文件本回答被提问者采纳
第2个回答  2019-05-28
=INDEX($C$1:$C$362,MATCH(A1,$B$1:$B$362,0),)
INDEX(array,row_num,column_num)返回数组中指定的单元格或单元格数组的数值。
Array为单元格区域或数组常数;Row_num为数组中某行的行序号,函数从该行返回数值。如果省略row_num,则必须有column_num;Column_num是数组中某列的列序号,函数从该列返回数值。如果省略column_num,则必须有row_num。Reference是对一个或多个单元格区域的引用,如果为引用输入一个不连续的选定区域,必须用括号括起来。
index 函数有误了。$C$1:$C$362有误,应该选择区域范围!$A$1:$C$362,
相似回答