套用到
Microsoft 365 Excel Microsoft365.com 我的 iPhone 版 Office

摘要

本文說明如何使用 excel 中的各種內建函數,在表格 (或儲存格) 範圍 Microsoft 中尋找數據。 您可以使用不同的公式來取得相同的結果。

建立範例工作表

本文使用範例工作表說明 Excel 內建函數。 請考慮從欄 A 參照名稱,並從欄 C 傳回該人員的年齡的範例。若要建立此工作表,請在空白的Excel工作表中輸入下列數據。您會在儲存格 E2 中輸入要尋找的值。 您可以在同一個工作表中的任何空白儲存格中輸入公式。

A

B

C

D

E

1

名稱

部門

年齡

尋找值

2

智偉

501

28

Mary

3

斯坦

201

19

4

Mary

101

22

5

拉裡

301

29

字詞定義

本文使用下列字詞來描述 Excel 內建函數:

字詞

定義

範例

表格陣列

整個查閱表格

A2:C5

Lookup_Value

這是要在Table_Array的第一欄中找到的值。

E2

Lookup_Array -或- Lookup_Vector

包含可能查閱值的儲存格範圍。

A2:A5

Col_Index_Num

應傳回Table_Array相符值中的欄號。

Table_Array) 中的 3 (第三欄

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

這是您要結果左上角儲存格參照的左方或向右欄數。 例如,“5” 做為Offset_Col自變數,指定參照右方的左上角單元格為參照右方的五欄。 Offset_Col可以是正 (,也就是起始參照) 右方,或負 (,表示在起始參照) 的左邊。

函數

LOOKUP ()

LOOKUP 函數會在單一列或單欄中尋找值,並與不同列或欄中相同位置的值相符。以下是 LOOKUP 公式語法的範例:

   =LOOKUP (Lookup_Value,Lookup_Vector,Result_Vector)

下列公式會在範例工作表中找到Mary的年齡:

   =LOOKUP (E2,A2:A5,C2:C5)

公式使用 E2 儲存格中的值 「Mary」,並在查閱向量 (欄 A) 中找到 「Mary」。 公式接著會比對結果向量中同一列 (欄 C) 中的值。 因為 「Mary」 位於第 4 列,LOOKUP 會從欄 C 的第 4 列傳回值 (22) 。注意:LOOKUP 函數需要排序表格。

如需 LOOKUP 函數的詳細資訊,請按下列文章編號以檢視Microsoft知識庫中的文章:  

如何在 Excel 中使用 LOOKUP 函數

VLOOKUP ()

當數據列在欄中時,會使用 VLOOKUP 或垂直查閱函數。 此函數會在最左邊的欄中搜尋值,並與同一列指定欄中的數據相符。 您可以使用 VLOOKUP 在排序或未排序的表格中尋找資料。 下列範例使用含有未排序數據的數據表。以下是 VLOOKUP 公式語法的範例:

    =VLOOKUP (Lookup_Value,Table_Array,Col_Index_Num,Range_Lookup)

下列公式會在範例工作表中找到Mary的年齡:

   =VLOOKUP (E2,A2:C5,3,FALSE)

公式使用 E2 單元格中的值 「Mary」,並在欄 A) 最左邊的欄 (找到 “Mary”。 公式接著會比對Column_Index中同一列中的值。 此範例使用 「3」 做為Column_Index (栏 C) 。 因為 「Mary」 位於第 4 列,VLOOKUP 會從欄 C 的第 4 列傳回值 (22) 。

如需 VLOOKUP 函數的詳細資訊,請按下列文章編號以檢視Microsoft知識庫中的文章:  

如何使用 VLOOKUP 或 HLOOKUP 尋找完全相符的專案

INDEX () 和 MATCH ()

您可以同時使用 INDEX 和 MATCH 函數,取得與使用 LOOKUPVLOOKUP 相同的結果。

下列是結合 INDEXMATCH 的語法範例,在上述範例中產生與 LOOKUPVLOOKUP 相同的結果:

    =INDEX (Table_Array,MATCH (Lookup_Value,Lookup_Array,0) ,Col_Index_Num)

下列公式會在範例工作表中找到Mary的年齡:

=INDEX (A2:C5,MATCH (E2,A2:A5,0) ,3)

公式使用 E2 儲存格中的值 「Mary」,並在欄 A 中找到 「Mary」。。然後,它會比對欄 C 同一列中的值。因為 「Mary」 位於第 4 列,因此公式會傳回欄 C (22) 中第 4 列的值。

注意事項: 如果Lookup_Array中的儲存格都不符合 Lookup_Value (“Mary”) ,此公式會傳回 #N/A。如需 INDEX 函數的詳細資訊,請按下列文章編號以檢視Microsoft知識庫中的文章:

如何使用 INDEX 函數尋找資料表中的數據

OFFSET () 和 MATCH ()

您可以同時使用 OFFSETMATCH 函數,產生與上一個範例中的函數相同的結果。下列是結合 OFFSET 和 MATCH 的語法範例,以產生與 LOOKUPVLOOKUP 相同的結果:

   =OFFSET (top_cell,MATCH (Lookup_Value,Lookup_Array,0) ,Offset_Col)

此公式會在範例工作表中找到Mary的年齡:

   =OFFSET (A1,MATCH (E2,A2:A5,0) ,2)

公式使用 E2 儲存格中的值 「Mary」,並在欄 A 中找到 「Mary」。。公式接著會比對同一列中的值,但 C 欄 (右側有兩欄) 。 因為 「Mary」 位於欄 A,因此公式會傳回欄 C (22) 的第 4 列值。

如需 OFFSET 函數 的詳細資訊,請按下列文章編號以檢視Microsoft知識庫中的文章:  

如何使用 OFFSET 函數

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。