您目前已離線,請等候您的網際網路重新連線

如何尋找 Excel 表格中的資料

Office 2003 支援已結束

Microsoft 於 2014 年 4 月 8 日結束對 Office 2003 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

結論
本文將逐步告訴您如何使用 Microsoft Excel 的各種內建函式尋找表格 (或特定範圍儲存格) 中的資料。您可以使用不同的公式來求得相同結果。

回到頁首

建立範例工作表

本文使用範例工作表來說明 Excel 的內建函式,例如參照欄 A 的人名,再傳回該人員在欄 C 中的年齡。如果要建立這張工作表,請在空白的 Excel 工作表中輸入下列資料。

您將在儲存格 E2 中輸入所要尋找的值。您可以在相同工作表的任何空白儲存格中輸入公式。
ABCDE
1名稱部門年紀尋找值
2吳榮燦50128陶怡青
3羅景晨20119
4陶怡青10122
5沈鏡如30129
回到頁首

詞彙定義

本文使用下列詞彙說明 Excel 內建函式:
詞彙定義範例
Table_Array整張查閱表格。A2:C5
Lookup_Value在 Table_Array 的第一欄中所要尋找的值。E2
Lookup_Array
- 或 -
Lookup_Vector
包含可能查閱值的儲存格範圍。A2:A5
Col_Index_NumTable_Array 中應傳回相符值的欄號。3 (Table_Array 的第三欄)
Result_Array
- 或 -
Result_Vector
僅包含一列或欄的範圍。這個範圍大小必須與 Lookup_Array 或 Lookup_Vector 相同。C2:C5
Range_Lookup 邏輯值 (TRUE 或 FALSE)。如果是 TRUE 或是省略,就會傳回近似的相符值。如果是 FALSE,則會尋找完全相符值。FALSE
Top_Cell這是您要做為位移依據的參照。Top_Cell 必須參照某個儲存格或某個範圍的相鄰儲存格。否則,OFFSET 會傳回錯誤值 #VALUE!。
Offset_Col 這是您希望結果的左上方儲存格向左或向右參照的欄數。例如,Offset_Col 引數 "5" 會指定參照的左上方儲存格是參照右側的五個欄。Offset_Col 可以是正值 (表示起始參照位置的右側) 或是負值 (表示起始參照位置的左側)。
回到頁首

函式

LOOKUP()

LOOKUP 函式會尋找單一列或單一欄中的值,並將它與不同列或欄中位於相同位置的值進行比對。

下列是 LOOKUP 公式語法的範例:
=LOOKUP(Lookup_Value,Lookup_Vector,Result_Vector)

下列公式會在範例工作表中找出陶怡青的年紀:
=LOOKUP(E2,A2:A5,C2:C5)
此公式會使用儲存格 E2 中的值「陶怡青」,並在查閱向量 (欄 A) 中尋找「陶怡青」。接著公式會比對結果向量 (欄 C) 中同一列的值。「陶怡青」位於列 4,因此 LOOKUP 會傳回欄 C 中列 4 的值 (22)。

注意 必須先排序表格,才能使用 LOOKUP 函式。
如需有關 LOOKUP 函式的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
324986如何使用 Excel 中的 LOOKUP 函式
回到頁首

VLOOKUP()

當資料列在欄中時,會使用 VLOOKUP 或垂直查閱函式。這個函式會搜尋最左一欄的值,並將其與同一列中指定欄的資料進行比對。您可以使用 VLOOKUP 來尋找已排序或未排序表格中的資料。下列範例使用的是未排序資料的表格。

以下是 VLOOKUP 公式語法的範例:
=VLOOKUP(Lookup_Value,Table_Array,Col_Index_Num,Range_Lookup)
下列公式會在範例工作表中找出陶怡青的年紀:
=VLOOKUP(E2,A2:C5,3,FALSE)
此公式使用儲存格 E2 的值「陶怡青」,找出最左一欄 (欄 A) 中的「陶怡青」。接著公式會比對 Column_Index 中同一列的值。此範例的 Column_Index 是 "3" (欄 C)。「陶怡青」位於列 4,因此 VLOOKUP 會傳回欄 C 中列 4 的值 (22)。
如需有關 VLOOKUP 函式的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
181213如何使用 VLOOKUP 或 HLOOKUP 尋找完全相同的值
回到頁首

INDEX() 和 MATCH()

您可以同時使用 INDEXMATCH 函式,以取得與使用 LOOKUPVLOOKUP 相同的結果。

下列語法範例結合了 INDEXMATCH,產生與先前範例中使用 LOOKUPVLOOKUP 的相同結果:
=INDEX(Table_Array,MATCH(Lookup_Value,Lookup_Array,0),Col_Index_Num)

下列公式會在範例工作表中找出陶怡青的年紀:
=INDEX(A2:C5,MATCH(E2,A2:A5,0),3)
此公式會使用儲存格 E2 的值「陶怡青」,並在欄 A 中找出「陶怡青」。接著公式會比對欄 C 中同一列的值。「陶怡青」位在列 4,因此公式會傳回欄 C 中列 4 的值 (22)。

注意 如果 Lookup_Array 中沒有儲存格符合 Lookup_Value (陶怡青),則此公式會傳回 #N/A。
如需有關 INDEX 函式的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
324988XL2002: How to Use the INDEX Function to Find Data in a Table
回到頁首

OFFSET() 和 MATCH()

您可以同時使用 OFFSETMATCH 函式,產生先前範例中的函式所產生的相同結果。

以下語法範例中結合了 OFFSETMATCH,產生與 LOOKUPVLOOKUP 相同的結果:
=OFFSET(top_cell,MATCH(Lookup_Value,Lookup_Array,0),Offset_Col)
這個公式會在範例工作表中找出陶怡青的年紀:
=OFFSET(A1,MATCH(E2,A2:A5,0),2)
此公式會使用儲存格 E2 的值「陶怡青」,並在欄 A 中找出「陶怡青」。接著公式會比對同一列中向右第二欄的值 (欄 C)。「陶怡青」位在欄 A 中,因此公式會傳回欄 C 中列 4 的值 (22)。
如需有關 OFFSET 函式的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
324991XL2002: How to Use the OFFSET Function
回到頁首
XL2007 XL2003 XL2002 XL2000
內容

文章識別碼:324861 - 最後檢閱時間:02/15/2007 10:37:35 - 修訂: 4.0

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition

  • kbhowtomaster kbhowto KB324861
意見反應
.microsoft.com/ms.js">