Excel中VLOOKUP函式的作用是什麼?如何使用VLOO

2021-07-08 22:29:35 字數 5141 閱讀 4398

1樓:

vlookup

全部顯示

全部隱藏

在**陣列的首列查詢指定的值,並由此返回**陣列當前行中其他列的值。

vlookup 中的 v 參數列示垂直方向。當比較值位於需要查詢的資料左邊的一列時,可以使用 vlookup 而不是 hlookup。

語法vlookup(lookup_value,table_array,col_index_num,range_lookup)

lookup_value 為需要在**陣列 (陣列:用於建立可生成多個結果或可對在行和列中排列的一組引數進行運算的單個公式。陣列區域共用一個公式;陣列常量是用作引數的一組常量。

)第一列中查詢的數值。lookup_value 可以為數值或引用。若 lookup_value 小於 table_array 第一列中的最小值,vlookup 返回錯誤值 #n/a。

table_array 為兩列或多列資料。使用對區域或區域名稱的引用。table_array 第一列中的值是由 lookup_value 搜尋的值。

這些值可以是文字、數字或邏輯值。文字不區分大小寫。

col_index_num 為 table_array 中待返回的匹配值的列序號。col_index_num 為 1 時,返回 table_array 第一列中的數值;col_index_num 為 2,返回 table_array 第二列中的數值,以此類推。如果 col_index_num :

小於 1,vlookup 返回錯誤值 #value!。

大於 table_array 的列數,vlookup 返回錯誤值 #ref!。

range_lookup 為邏輯值,指定希望 vlookup 查詢精確的匹配值還是近似匹配值:

如果為 true 或省略,則返回精確匹配值或近似匹配值。也就是說,如果找不到精確匹配值,則返回小於 lookup_value 的最大數值。

table_array 第一列中的值必須以升序排序;否則 vlookup 可能無法返回正確的值。有關詳細資訊,請參閱排序資料。

如果為 false,vlookup 將只尋找精確匹配值。在此情況下,table_array 第一列的值不需要排序。如果 table_array 第一列中有兩個或多個值與 lookup_value 匹配,則使用第一個找到的值。

如果找不到精確匹配值,則返回錯誤值 #n/a。

註解在 table_array 第一列中搜尋文字值時,請確保 table_array 第一列中的資料沒有前導空格、尾部空格、直引號(' 或 ")與彎引號(‘或“)不一致或非列印字元。否則,vlookup 可能返回不正確或意外的值。有關詳細資訊,請參閱 clean 和 trim。

在搜尋數字或日期值時,請確保 table_array 第一列中的資料未儲存為文字值。否則,vlookup 可能返回不正確或意外的值。有關詳細資訊,請參閱將儲存為文字的數字轉換為數字值。

如果 range_lookup 為 false 且 lookup_value 為文字,則可以在 lookup_value 中使用萬用字元、問號 (?) 和星號 (*)。問號匹配任意單個字元;星號匹配任意字元序列。

如果要查詢實際的問號或星號,請在該字元前鍵入波形符 (~)。

示例 1

如果將示例複製到一個空白工作表中,可能會更易於理解。

如何複製示例

建立一個空白工作簿或工作表。

在幫助主題中選擇示例。

註釋 請不要選擇行或列標題。

從幫助中選擇示例

按 ctrl+c。

在工作表中,選擇單元格 a1,然後按 ctrl+v。

若要在檢視結果和檢視返回結果的公式之間切換,請按 ctrl+`(重音符),或在“公式”選項卡的“公式稽核”組中,單擊“顯示公式”按鈕。

本示例搜尋大氣特徵表的“密度”列以查詢“粘度”和“溫度”列中對應的值。(該值是在海平面 0 攝氏度或 1 個大氣壓下對空氣的測定。)

1 23 45 67 89 10

a b c

密度 粘度 溫度

0.457 3.55 500

0.525 3.25 400

0.616 2.93 300

0.675 2.75 250

0.746 2.57 200

0.835 2.38 150

0.946 2.17 100

1.09 1.95 50

1.29 1.71 0

公式 說明(結果)

=vlookup(1,a2:c10,2) 使用近似匹配搜尋 a 列中的值 1,在 a 列中找到小於等於 1 的最大值 0.946,然後返回同一行中 b 列的值。(2.17)

=vlookup(1,a2:c10,3,true) 使用近似匹配搜尋 a 列中的值 1,在 a 列中找到小於等於 1 的最大值 0.946,然後返回同一行中 c 列的值。(100)

=vlookup(.7,a2:c10,3,false) 使用精確匹配在 a 列中搜尋值 0.7。因為 a 列中沒有精確匹配的值,所以返回一個錯誤值。(#n/a)

=vlookup(0.1,a2:c10,2,true) 使用近似匹配在 a 列中搜尋值 0.

1。因為 0.1 小於 a 列中最小的值,所以返回一個錯誤值。

(#n/a)

=vlookup(2,a2:c10,2,true) 使用近似匹配搜尋 a 列中的值 2,在 a 列中找到小於等於 2 的最大值 1.29,然後返回同一行中 b 列的值。

(1.71)

示例 2

如果將示例複製到一個空白工作表中,可能會更易於理解。

如何複製示例

建立一個空白工作簿或工作表。

在幫助主題中選擇示例。

註釋 請不要選擇行或列標題。

從幫助中選擇示例

按 ctrl+c。

在工作表中,選擇單元格 a1,然後按 ctrl+v。

若要在檢視結果和檢視返回結果的公式之間切換,請按 ctrl+`(重音符),或在“公式”選項卡的“公式稽核”組中,單擊“顯示公式”按鈕。

本示例搜尋嬰幼兒用品表中“貨品 id”列並在“成本”和“漲幅”列中查詢與之匹配的值,以計算**並測試條件。

1 23 45 6a b c d

貨品 id 貨品 成本 漲幅

st-340 童車 ¥145.67 30%

bi-567 圍嘴 ¥3.56 40%

di-328 尿布 ¥21.45 35%

wi-989 柔溼紙巾 ¥5.12 40%

as-469 吸出器 ¥2.56 45%

公式 說明(結果)

= vlookup("di-328", a2:d6, 3, false) * (1 + vlookup("di-328", a2:d6, 4, false)) 漲幅加上成本,計算尿布的零售價。

(¥28.96)

= (vlookup("wi-989", a2:d6, 3, false) * (1 + vlookup("wi-989", a2:d6, 4, false))) * (1 - 20%) 零售價減去指定折扣,計算柔溼紙巾的銷售**。

(¥5.73)

= if(vlookup(a2, a2:d6, 3, false) >= 20, "漲幅為 " & 100 * vlookup(a2, a2:d6, 4, false) &"%", "成本低於 ¥20.

00") 如果某一貨品的成本大於或等於 ¥20.00,則顯示字串“漲幅為 nn%”;否則,顯示字串“成本低於 ¥20.00”。

(漲幅為 30%)

= if(vlookup(a3, a2:d6, 3, false) >= 20, "漲幅為: " & 100 * vlookup(a3, a2:

d6, 4, false) &"%", "成本為 ¥" & vlookup(a3, a2:d6, 3, false)) 如果某一貨品的成本大於或等於 ¥20.00,則顯示字串“漲幅為 nn%”;否則,顯示字串“成本為 ¥n.

nn”。(成本為 ¥3.56)

示例 3

如果將示例複製到一個空白工作表中,可能會更易於理解。

如何複製示例

建立一個空白工作簿或工作表。

在幫助主題中選擇示例。

註釋 請不要選擇行或列標題。

從幫助中選擇示例

按 ctrl+c。

在工作表中,選擇單元格 a1,然後按 ctrl+v。

若要在檢視結果和檢視返回結果的公式之間切換,請按 ctrl+`(重音符),或在“公式”選項卡的“公式稽核”組中,單擊“顯示公式”按鈕。

本示例搜尋員工表的 id 列並查詢其他列中的匹配值,以計算年齡並測試錯誤條件。

1 23 45 67 a b c d e

id 姓

名 職務 出生日期

1 李 小明 銷售代表 12/8/1968

2 林 彩瑜 銷售副總裁 2/19/1952

3 王 志東 銷售代表 8/30/1963

4 潘 金 銷售代表 9/19/1958

5 林 丹 銷售經理 3/4/1955

6 蘇 術平 銷售代表 7/2/1963

公式 說明(結果)

=int(yearfrac(date(2004,6,30), vlookup(5,a2:e7,5, false), 1)) 針對 2004 財政年度,查詢 id 為 5 的員工的年齡。使用 yearfrac 函式,以此財政年度的結束日期減去出生日期,然後使用 int 函式將結果以整數形式顯示。

(49)

=if(isna(vlookup(5,a2:e7,2,false)) = true, "未發現員工", vlookup(5,a2:e7,2,false)) 如果有 id 為 5 的員工,則顯示該員工的姓氏;否則,顯示訊息“未發現員工”。

(林)當 vlookup 函式返回錯誤值 #na 時,isna 函式返回值 true。

=if(isna(vlookup(15,a3:e8,2,false)) = true, "未發現員工", vlookup(15,a3:e8,2,false)) 如果有 id 為 15 的員工,則顯示該員工的姓氏;否則,顯示訊息“未發現員工”。

(未發現員工)

當 vlookup 函式返回錯誤值 #na 時,isna 函式返回值 true。

=vlookup(4,a2:e7,3,false) & " " & vlookup(4,a2:e7,2,false) & "是" & vlookup(4,a2:

e7,4,false) & "。" 對於 id 為 4 的員工,將三個單元格的值連線為一個完整的句子。(潘金是銷售代表。)

excel中vlookup函式的使用方法函式怎麼用

函式的基本用法 vlookup 待查詢的資料,查詢的範圍,返回列,匹配型別 如圖 要查詢錢二的數學分數,公式為 vlookup 錢二 a1 b9,2,0 意義為在 a1 b9這個區域的第一列,也就是a1 a9,查詢 錢二 可以看到錢二在第四行,然後,返回列,公式指定為2,就是區域a1 b9這個區域的...

excel的vlookup匹配函式問題,請高手解答

在sheet1的c2中輸入 vlookup b2,if sheet2 a2 a999,sheet2 b2 b999 2,或 vlookup b2,choose sheet2 a2 a999,sheet2 b2 b999 2,或 vlookup b2,choose sheet2 b2 b999,she...

excel中vlookup的問題

vlookup a2,sheet2 a b,2 解釋 vlookup 需要查詢的值a2,所在區域,需返回值所在的列數,邏輯 對於補充的問題 vlookup a2,b c,2 語法vlookup lookup value,table array,col index num,range lookup l...