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與index match有何不
來自盔頭巖清淨的冷月 excel函式中vlookup與index match準確性方面兩個是一樣的,速度上vlookup比index match快。具體有預算速度,取數方向,查詢範圍的三個方面的區別。1 運算速度不同 vlookup比index match快,因為vlookup只呼叫一個函式,而in...
excel中vlookup函式公式輸入正確但仍顯示不出結果
你才搞笑,如果按名字來匹配,那查詢值也就是e列名字必須和被查詢區域的第一列,也就是d列相同才行 所以第一個值應該是e3,而不是a3 第3個值是從被查詢區域的d列開始,匹配值在d後面的第2列,所以應該是2 公式中.a 3 e 22. 平陽虎 將公式中的5改為2! 新浪河陽小子 vlookup e3,教...
excel中匹配與vlookup函式問題
綠衣人敲門 excel中常用的查詢函式vlookup的基本用法。首先來看一下vlookup函式的應用場景。如下圖,a列到d列是員工資訊,包括姓名 工號 性別和籍貫資訊,每一行是一個人的資訊。要求根據 姓名 獲得員工的 工號 資訊,返回結果在 b8。vlookup函式的基本語法是這樣的 如下圖,該函式...