VLOOKUP函式使用詳解:垂直查詢與引數說明

格式
pdf
大小
1.11 MB
頁數
73
作者
Saying Yang
收藏 ⬇️ 下載檔案
提示: 文件格式为 pdf,轉換可能會出現排版或格式的些許差異,請以實際檔案為準。
此檔案建立於 2008-04-14,离现在 17 196 天,建議確認內容是否仍然適用。
PDF 加载中...
background image

查表函數

background image

查表函數

†

查表函數有三種:

„

水平查表

HLOOKUP

„

垂直查表

VLOOKUP

„

查表

LOOKUP

background image

VLOOKUP垂直查表

†

VLOOKUP(查表依據,表格,第幾欄,

是否不用找到完全相同值

)

„

=Vlookup(lookup_vaule, table_array, col_index_num, 

[range_lookup])

†

在一表格的最左欄中,尋找含查表依據的欄位,並傳回同一列中第幾
欄所指定之儲存格內容

†

表格是要在其中進行找尋資料的陣列範圍,且必須按其第一欄之內容
遞增排序。

†

是否不用找到完全相同值

為一邏輯值,為

TRUE(或省略)時,如果

找不到完全符合的值,會找出僅次於查表依據的值。當此引數值為

FALSE時,必須找尋完全符合的值,如果找不到,則傳回錯誤值

#N/A

background image

假定,員工之業績獎金係依其業績高低,給予不同之比例:

安排此一表格時,標題之文字內容並無作用,重點為代表業績

及獎金比例之數字,第一個

0很重要,很多使用者直接於0的位

置上輸入

300,000,將會使業績未滿300,000者,找不到可用

之獎金比例,而顯示錯誤值

#N/A。此外,務必記得要依第一

欄之業績內容遞增排序。

background image

假定,各員工之基本薪及業績資料為:參見

VLOOKUP1

E欄,擬依D欄之業績計算其業績獎金。首先,於

E13處可使用
=VLOOKUP(D13,$A$3:$B$9,2,TRUE)

D欄之業績(查表依據),於A3:B9(表格)中找

出適當(第

2欄)之獎金百分比

background image

最後一個引數為何要使用

TRUE?

這是因為業績內容很少恰好等於

A3:A9的間距數字。將其安排為

TRUE(或省略)時,於A3:A9找不到完全符合D欄之業績值,
將找出僅次於查表依據的值。如:業績

1,025,000者,不可能會

給予與

1,500,000同列之1%為獎金比例,而是找到僅次於

1,025,000之1,000,000,而回應與1,000,000同列之0.8%為
其獎金比例。

background image

此外,安排業績與其獎金比例之表格原範圍為

A3:B9,為了方便

向下抄給其它儲存格,應記得將其安排為

$A$3:$B$9。

於判斷查表所取得之獎金比例無誤後,將其乘上業績:

=VLOOKUP(D13,$A$3:$B$9,2,TRUE)*D13
即可算出業績獎金:

background image

最後,將

C欄之基本薪加上E欄業績獎金,即可獲致F

欄之總所得:

background image

前例之

VLOOKUP()中的最後一個引數使用TRUE,如果找不到完

全符合的值,會找出僅次於查表依據的值。但,於下表中:

雖同樣以數字性質之編號進行找尋,就不可以於找不到完全符合的編號
值,即以編號較小的另一筆記錄內容來替代。故應將

VLOOKUP()中的最

後一個引數,改為使用

FALSE,必須要找尋完全符合的值,如果找不到,

則傳回錯誤值

#N/A。

background image

假定,要利用使用者所輸入之員工編號,傳回如下示之表格內
容:

其處理步驟為:參見【

VLOOKUP2

1.

安排妥表格外觀

2.

C13輸入一已存在之員工編號(如:1316)

background image

3.

E13輸入

=VLOOKUP($C$13,$A$2:$H$10,2,FALSE)
公式,可找出該編號所對應之員工姓名

前兩個引數,使用含

$之絕對參照,係因此公式仍要

抄給其它儲存格使用。最後一個引數,使用

FALSE,

表一定要找到完全相同之員工編號;否則,即顯示

#N/A之錯誤,而不是找一個編號較低者來替代。

background image

4.

鈕,記下

E13之內容

5.

按住

Ctrl鍵,選取選取C14:C17與E14:E15儲存格

6.

鈕,貼上所記下之內容,可獲致

background image

7.

C14:C15、E14:E15與C16:C17等儲存格之公

式內容的第三個引數,由

2分別改為所對應之欄數。

如:

C14

=VLOOKUP($C$13,$A$2:$H$10,3,FALSE)

E14

=VLOOKUP($C$13,$A$2:$H$10,4,FALSE)

C15

=VLOOKUP($C$13,$A$2:$H$10,5,FALSE)

E15

=VLOOKUP($C$13,$A$2:$H$10,6,FALSE)

C16

=VLOOKUP($C$13,$A$2:$H$10,7,FALSE)

C17

=VLOOKUP($C$13,$A$2:$H$10,8,FALSE)

可獲致

background image

8.

E15處安排為民國年代之日期格式,即可大功告成

background image

茲再舉一文字串之實例,假定,某公司之產品編號、品
名及單價,如下表之

A1:C8所示,建立表格時,必須按

A欄之編號遞增排序,但仍允許跳號。參見

VLOOKUP3

background image

於交易發生時,為方便輸入資料,可於輸入產品編號
後,以

VLOOKUP()查得其品名及單價。因為,不可能

會依編號順序發生交易,故下表並無必須按編號遞增排
序之要求,且允許重複出現:

background image

†

要利用

VLOOKUP()依編號查表取其品名及單價,可

先於

C12輸入

=VLOOKUP($B12,$A$2:$C$8,2,FALSE)
可取得品名:

background image

必須要找到完全相同之編號,最後一個引數要安排為

FALSE(或0)。將其抄給D12後,可獲得一完全相
同之公式,將其第三個引數改為

3:

=VLOOKUP($B12,$A$2:$C$8,3,FALSE)
即可獲得其單價:

background image

C12:D12抄給C13:D19,即可取得各筆交易之品

名及單價:

background image

剩下來之工作,僅須輸入各筆交易之數量,即可以單
價乘以數量,求得其金額:

background image

往後,若再有新交易發生,只須繼續向下進行輸入即
可,並不用再複製公式,

Excel會自動進行必要之公

式的複製。例如,輸入完日期與編號後,即可自動取
得品名及單價:

background image

續再輸入數量,即可自動算出金額:

background image

HLOOKUP水平查表

HLOOKUP(查表依據,表格,第幾列,

是否不用找到完全相同值

)

†

公式:

„

=Hlookup(lookup_vaule, table_array, 

row_index_num, [range_lookup])

„

Range_lookup>0(false)或1(true)

†

在一表格的第一列中尋找含查表依據的欄位,並傳回同一欄中

第幾列所指定之儲存格內容。

†

本函數之相關規定,同

VLOOKUP(),只差其查表係以水平方

式進行而已。

†

HLOOKUP有三個參數

„

第一個參數為想要查詢的資料

„

第二個參數為查詢對照表的位置範圍,通常以絕對座標表示

„

第三個參數為對照表在查詢表中的第幾列,“

2”代表第二列。

background image

HLOOKUP水平查表

†

HLOOKUP有三個參數

„

第一個參數為想要查詢的資料

„

第二個參數為查詢對照表的位置範圍,通常以
絕對座標表示

„

第三個參數為對照表在查詢表中的第幾列,“

2”

代表第二列。

background image

†

下表將西元年代除以

12後之餘數(使用MOD()

數),以遞增方式排列,並將其所對應之中國生肖匯
集在一起

†

即可於

B5輸入任一西元年代後,以

=HLOOKUP(MOD(B5,12),B1:M3,3)
利用餘數來以

HLOOKUP()來查表取得其生肖

background image
background image

HLOOKUP水平查表

background image
background image

垂直查表

†

VLOOKUP(查表依據,表格,第幾欄,

是否不用找到完全相同

)

„

=Hlookup(lookup_vaule, table_array, 

col_index_num, [range_lookup])

†

在一表格的最左欄中,尋找含查表依據的欄位,並傳回同一
列中第幾欄所指定之儲存格內容

†

表格是要在其中進行找尋資料的陣列範圍,且必須按其第一
欄之內容遞增排序。

†

是否不用找到完全相同值

為一邏輯值,為

TRUE(或省略)

時,如果找不到完全符合的值,會找出僅次於查表依據的
值。當此引數值為

FALSE時,必須找尋完全符合的值,如果

找不到,則傳回錯誤值

#N/A

background image

不用找到完全相同值之實例

†

假定,員工之業績獎金係依其業績高低,給予不同之比
例。

background image

†

茲將其對照表安排於下表之

A3:B9,安排此一表格

時,標題之文字內容並無作用,重點為代表業績及獎金
比例之數字,第一個

0很重要,很多使用者直接於0

位置上輸入

300,000,將會使業績未滿300,000者,

找不到可用之獎金比例,而顯示錯誤值

#N/A。此外,

務必記得要依第一欄之業績內容遞增排序。

background image

†

假定,各員工之基本薪及業績資料為:參見

VLOOKUP1

†

E欄,擬依D欄之業績計算其業績獎金。首先,於

E13處可使用
=VLOOKUP(D13,$A$3:$B$9,2,TRUE)

D欄之業績(查表依據),於A3:B9(表格)中找出

適當(第

2欄)之獎金百分比

†

最後一個引數為何要使用

TRUE?這是因為業績內容很

少恰好等於

A3:A9的間距數字。將其安排為TRUE(或

省略)時,於

A3:A9找不到完全符合D欄之業績值,將

找出僅次於查表依據的值。

background image
background image

†

如:業績

1,025,000者,不可能會給予與1,500,000同列之

1%為獎金比例,而是找到僅次於1,025,000之

1,000,000,而回應與1,000,000同列之0.8%為其獎金比
例。

†

此外,安排業績與其獎金比例之表格原範圍為

A3:B9,為了

方便向下抄給其它儲存格,應記得將其安排為
$A$3:$B$9。

†

於判斷查表所取得之獎金比例無誤之後,將其乘上業績:
=VLOOKUP(D13,$A$3:$B$9,2,TRUE)*D13
即可算出業績獎金:

†

最後,將

C欄之基本薪加上E欄業績獎金,即可獲致F欄之總

所得:

background image
background image

馬上練習

†

續前例,假定所得稅率為:

試依查表取得適當稅率計算所得稅,並計算扣除所得
稅後之淨所得:參見【

VLOOK2

background image

必須找到完全相同值之實例

†

前例之

VLOOKUP()中的最後一個引數使用TRUE,如

果找不到完全符合的值,會找出僅次於查表依據的值。

†

但,於下表中,雖同樣以數字性質之編號進行找尋,就
不可以於找不到完全符合的編號值,即以編號較小的另
一筆記錄內容來替代。故應將

VLOOKUP()中的最後一

個引數,改為使用

FALSE,必須要找尋完全符合的值,

如果找不到,則傳回錯誤值

#N/A。參見

VLOOK3

background image
background image

†

假定,要利用使用者所輸入之員工編號,傳回如下示之
表格內容:

†

其處理步驟為:

1.

安排妥表格外觀
其中,

C3:E3C4:E4係分別以「格式(O)/儲存格

(E)…」,將其設定為合併儲存格

2.

將整個表格內容,設定為靠左對齊

3.

C13輸入一已存在之員工編號,如:1316

4.

E13輸入

=VLOOKUP($C$13,$A$2:$H$10,2,FALSE)
式,可找出該編號所對應之員工姓名(第

2欄)

background image
background image

前兩個引數,使用含

$之絕對參照,係因此公式仍要抄

給其它儲存格使用。最後一個引數,使用

FALSE,表

一定要找到完全相同之員工編號;否則,即顯示

#N/A

之錯誤,而不是找一個編號較低者來替代。

5.

鈕,記下

E13之內容

6.

按住

Ctrl鍵,選取C14:C15E14:E15C16:C17

等儲存格

7.

以「編輯

(E)/選擇性貼上(S)…」,選擇只貼上「公式

(F)

8.

按[確定]鈕,可獲致

background image
background image

9.

C14:C15E14:E15C16:C17等儲存格之公式

內容的第三個引數,由

2分別改為所對應之欄數。如:

C14=VLOOKUP($C$13,$A$2:$H$10,3,FALSE)
E14=VLOOKUP($C$13,$A$2:$H$10,4,FALSE)
C15=VLOOKUP($C$13,$A$2:$H$10,5,FALSE)
E15=VLOOKUP($C$13,$A$2:$H$10,6,FALSE)
C16=VLOOKUP($C$13,$A$2:$H$10,7,FALSE)
C17=VLOOKUP($C$13,$A$2:$H$10,8,FALSE)

可獲致

background image

10.

E15處安排為民國年代之日期格式,即可大功告成

往後,於

C13處輸入員工編號,即可取得其相關之所

有資料內容:

但若輸入一個不存在之員工編號(如:

1215),即顯

#N/A之錯誤,而不是找一個編號較低者(1208

來替代:

background image

但若輸入員工編號(如:

1203),即顯示該員工資料:

background image

#N/A改為"找不到"

†

若要將

#N/A改為"找不到",可使用如

=IF(ISNA(VLOOKUP($C$13,$A$2:$H$10,

2,FALSE)),"找不到",VLOOKUP($C$13,$A$2:

$H$10,2,FALSE))
之公式來判斷。

†

當員工編號不存在,即將

#N/A改為"找不到"。將所

有使用

VLOOKUP()之儲存格,均改類似之公式後,

可獲致:參見【

VLOOK4

background image
background image

設定僅能輸入編號進行查詢

†

由於前例係於

C13處輸入員工編號進行查詢,但使用

者仍可能於

C13以外的其它儲存格輸入內容,如此,

難保不會破壞查詢表中之公式內容。因為,其公式確
實複雜,要重打得浪費不少時間!

†

可以下列步驟,將其設定為僅能於

C13輸入編號進行

查詢,於其它位置輸入任何資料(或編輯

/刪除)均不

被允許

background image

1.

停於

C13,執行「格式(O)/儲存格(E)…」,選取

『保護』標籤

2.

取消「鎖定

(L)」與「隱藏(I)

3.

按[確定]鈕

background image

4.

執行「工具

(T)/保護(P)/保護工

作表

(P)…

5.

輸入密碼,續按

(確定)

6.

再輸入一次完全相同之密碼

7.

按[確定]鈕,即可完成設定

如此,僅能於

C13輸入編號進行查

詢,於其它位置輸入任何資料、編輯

或刪除儲存格內容,均將獲致錯誤訊

background image
background image

文字串之實例

†

假定,某公司之產品編號、品名及單價,如下表之
A1:C8所示。建立表格時,必須按A欄之編號遞增排
序,但仍允許跳號。參見【

VLOOK6

†

於交易發生時,為方便輸入資料,可於輸入產品編號
後,以

VLOOKUP()查得其品名及單價。因為,不可

能會依編號順序發生交易,故下表並無必須按編號遞
增排序之要求,且允許重複出現:

background image
background image

†

要利用

VLOOKUP()依編號查表取其品名及單價,可

先於

C12輸入

=VLOOKUP($B12,$A$2:$C$8,2,FALSE)
可取得品名

†

由於這也是一個必須要找到完全相同之編號的例子,
故最後一個引數要安排為

FALSE。將其抄給D12

後,可獲得一完全相同之公式,將其第三個引數改為
3
=VLOOKUP($B12,$A$2:$C$8,3,FALSE)
即可獲得其單價

background image
background image

†

C12:D12抄給C13:D20,即可取得各筆交易之

品名及單價

†

剩下來之工作,僅須輸入各筆交易之數量,即可以單
價乘以數量,求得其金額

†

往後,若再有新交易發生,只須繼續向下進行輸入即
可,並不用再複製公式,

Excel會自動進行必要之公

式的複製。例如,輸入完日期與編號後,即可自動取
得品名及單價

†

續再輸入數量,即可自動算出金額

background image
background image

LOOKUP查表-向量型

LOOKUP(查表依據,查表向量,結果向量)

†

所使用的兩個向量,均為單列或單欄的陣列。

†

本類型之函數,會在查表向量中找尋查表依據之內容,然後移到
另一個結果向量中的同一個位置上,傳回該儲存格的內容。

†

但應注意:

„

兩向量之

儲存格個數應一致

„

查表向量之

內容應事先遞增排序

„

如果於查表向量中無法找到查表依據之內容,將取用較小的
一個值來替代

„

如果查表依據之內容小於整個查表向量之所有值,將回應

#N/A之錯誤值

background image

†

如,將成績高低分為下列幾組

†

將其內容安排於下表之

A1:B5位置。如此,A2:A5

即可當查表向量;

B2:B5即可當結果向量。參見

LOOKUP

†

假定,要將成績內容,於其備註欄上填入適當之組別
文字,

C9處之公式可為:

=LOOKUP(C9,$A$2:$A$5,$B$2:$B$5)

background image
background image

†

由於其結果向量僅能為單列或單欄的陣列。

†

故若假定要使用學號來找出姓名、成績及備註欄內
容。就得標定不同之結果向量,如下表中

G10:G12

之內容將分別為:
G10 =LOOKUP(G9,A9:A17,B9:B17)
G11 =LOOKUP(G9,A9:A17,C9:C17)
G12 =LOOKUP(G9,A9:A17,D9:D17)
分別使用三組不同的結果向量,才可找到適當之資料
內容

background image
background image

LOOKUP

查表

-陣列型

LOOKUP(查表依據,陣列)

†

會在陣列的第一列(或第一欄),搜尋指定的
查表依據,然後傳回其最後一列(或欄)的同
一個位置上之儲存格內容。

†

所以,同上例之要求,要使用此一類型之

LOOKUP()函數,依成績高低,於其備註欄上
填入適當之組別文字,

C9處之公式將改為:

=LOOKUP(B9,$A$2:$B$5)
將原分為兩個向量之內容,組合成單一陣列即
可。參見【

LOOKUP2

background image
background image

†

但由於此類型之

LOOKUP()函數,不管陣列之欄列

數多寡,將永遠傳回最後一列(或欄)的對應內容

†

故若要於

A9:D17表中,依學號找出姓名、成績及備

註欄內容。就得標定不同之三組陣列,分別讓所要的
內容安排於最後一欄才可

†

如下表中

G10:G12之內容將分別為:

G10 =LOOKUP(G9,A9:B17)
G11 =LOOKUP(G9,A9:C17)
G12 =LOOKUP(G9,A9:D17)
分別使用三組不同欄數之陣列,每個陣列均讓所要找
出之內容安排於最後一欄,才可找到適當之資料內容

background image
background image

製作個人成績單

†

VLOOKUP 函數的用法

†

個人成績單的製作

„

快速建立

VLOOKUP 函數公式

background image

VLOOKUP 函數的用法

†

VLOOKUP 

函數的功用就是在清單中的第一

欄尋找特定值

, 若找到時, 就傳回所找到的

那一列中某個欄位的值。

†

公式為:

background image

個人成績單的製作

†

請您開啟範例檔案

Ch08-03 , 並切換到

人成績單

工作表:

background image

個人成績單的製作

†

這是一張已經設計好的個人成績單

, 接著要

開始填入每位學生的成績。

1.

請您選取

C4, 然後按下

插入函數

, 開啟

插入函數

交談窗。

2.

插入函數

交談窗中

, 選取

檢視與參照

函數

類別的

VLOOKUP

函數

, 並按下

確定

鈕:

background image

個人成績單的製作

background image

個人成績單的製作

background image

個人成績單的製作

†

由於

C3 尚未輸入任何資料, 因此會出現錯

誤值。請您在

C3 輸入某位學生的姓名, 看

看結果對不對:

版權說明: 檔案資源由用戶上傳,僅供學習交流使用,尊重著作權。 若您認為內容涉及侵權,請點擊「侵權舉報」提交相關資料,我們將儘快核實並處理。