Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel vlookup返回不可用_Excel_Vlookup - Fatal编程技术网

Excel vlookup返回不可用

Excel vlookup返回不可用,excel,vlookup,Excel,Vlookup,我想用vlookup填充name列,这是我的事务表 这是我的主文件 是的,它们是相同的数字,但是为什么我的vlookup不根据查找的值返回相应的名称呢 vlookup是否符合数据类型?像文字,数字,还是一般 我反复更改数据类型,并返回相同的“不可用” 我的excel 2007有什么问题吗?您应该像这样使用Index/Match: =INDEX(Phonebook!$A$2:$A$45,MATCH(B2,Phonebook!$B$2:$B$45,0)) 您的Vlookup无法工作,因为它试图

我想用vlookup填充name列,这是我的事务表

这是我的主文件

是的,它们是相同的数字,但是为什么我的vlookup不根据查找的值返回相应的名称呢

vlookup是否符合数据类型?像文字,数字,还是一般

我反复更改数据类型,并返回相同的“不可用”


我的excel 2007有什么问题吗?

您应该像这样使用
Index/Match

=INDEX(Phonebook!$A$2:$A$45,MATCH(B2,Phonebook!$B$2:$B$45,0))

您的
Vlookup
无法工作,因为它试图从范围
电话簿的第一列中的
B2
中查找值$A$2:$B$45
,即电话簿$A$2:$A$45

问题是,
VLOOKUP
在第一列中查找电话号码,意思是在A列中。对于“反向查找”,您需要使用
索引
匹配

=INDEX(Phonebook!$A$2:$A$45,MATCH(B2,Phonebook!$B$2:$B$45,0))
索引
如下:

=INDEX(Range, Row Number, [Column Number])
它将从行号
行号
和列号
列号
上的范围
范围
返回一个单元格值。我将
列编号
放在方括号中,因为它是可选的(例如,如果范围在a:a之内,则只有一列)

要获取行号,可以像上面一样使用
MATCH
。它的工作原理有点像
VLOOKUP
,但它不返回匹配单元格的值,而是返回匹配单元格的行号(如果在水平范围内使用,则返回列号)

MATCH(B2,电话簿!$B$2:$B$45,0)
因此在工作表
B2:B45
的范围内查找
B2
0
表示精确匹配)并给出行号


然后,告诉Excel从范围
电话簿返回单元格的值$A$2:$A$45
和从
MATCH

获取的行号
索引/匹配
做什么?更新:那么,你是想说我必须将电话簿名称列移到电话簿-电话号码列的右侧吗?它与
VLOOKUP
非常相似,但更灵活:
Match
返回
B2
电话簿范围内的相对位置$B$2:$B$45
索引
获取此位置并从
电话簿返回相应的值$A$2:$A$45
:@Cignitor,
你是想说我必须把电话簿姓名列移到电话簿号码列的右侧
-是的,vlookup总是在目标范围的第一列搜索,这就是为什么
索引/匹配
方法更灵活的原因-你可以在任何列中搜索为什么我的公式返回“不可用”
=索引(电话簿!$A$2:$A$542,匹配(Transaksi!B2,电话簿!$A$2:$B$752,0))
@Cignitor首先,
MATCH
只适用于一行或一列。因此,
Phonebook!$A$2:$B$752
应该是
Phonebook!$A$2:$A$752
Phonebook!$B$2:$B$752
,这取决于你能得到匹配的列。