2014-03-27 220 views
0

我想用VLOOKUP填寫姓名欄,這裏是我的事務表 enter image description hereExcel中VLOOKUP返回不可

,這裏是我的主文件

enter image description here

是的,他們是相同的數字,但爲什麼我的vlookup沒有根據查找的值返回相應的名稱?

請問vlookup是否符合數據類型?像文字,數字還是一般?

我已經改變了數據類型,一遍又一遍,並返回相同的「不可用」

有什麼毛病我2007年的Excel?

回答

0

什麼問題是VLOOKUP正在尋找第一列中的電話號碼,這意味着在A列。對於'向後查找',您將需要使用INDEXMATCH

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

INDEX如下:

=INDEX(Range, Row Number, [Column Number]) 

它將返回值從作爲上行號Row Number和列Column Number範圍Range的細胞。我已經把Column Number方括號,因爲它是可選的(你只有1列,如果你有一個範圍是內答:例如)

要獲取的行數,你可以使用MATCH像上面。它的工作原理與VLOOKUP有點相似,但不是返回匹配單元格的值,而是返回匹配單元格的行號(或者如果在水平範圍內使用該列號)。

MATCH(B2,Phonebook!$B$2:$B$45,0)從而尋找B2範圍內的工作表Phonebook0代表精確匹配)的B2:B45並給出了行號。

然後,您告訴Excel從範圍Phonebook!$A$2:$A$45返回單元格的值,並從MATCH獲取行號。

+0

爲什麼我的公式返回「不可用」= INDEX(電話簿!$ A $ 2:$ A $ 542,MATCH(Transaksi!B2 ,電話簿!$ A $ 2:$ B $ 752,0))' – Cignitor

+0

@Cignitor首先,'MATCH'與一行*或*一列一起工作。因此,'Phonebook!$ A $ 2:$ B $ 752'應該是'Phonebook!$ A $ 2:$ A $ 752'或'Phonebook!$ B $ 2:$ B $ 752',這取決於您可以匹配哪一列。 – Jerry

1

你應該使用Index/Match這樣的:

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

Vlookup不起作用,因爲它試圖找到B2第一列的範圍Phonebook!$A$2:$B$45,即Phonebook!$A$2:$A$45

+0

'index/match'做什麼? 更新:所以,你是否想說我必須將Phonebook-name列移動到Phonebook-phone_number列的右側? – Cignitor

+0

它與'VLOOKUP'非常相似,但更加靈活:'Match'返回'Phonebook!$ B $ 2:$ B $ 45'範圍內'B2'的相對位置,並且'Index'獲取此位置,並從'Phonebook!$ A $ 2:$ A $ 45': –

+0

@Cignitor,'你想說我必須將Phonebook-name列移動到Phonebook-phone_number列的右側 - 是的,vlookup總是在_first_列的第目標範圍,這就是爲什麼'索引/匹配'方法更加靈活 - 您可以在任何列中搜索 –