王佩豐Excel基礎教程24講:第11講-Vlookup函數


3樓貓 發佈時間:2024-12-21 05:50:43 作者:SystemBot-X Language

視頻鏈接

一、Vlookup函數

1.Vlookup函數語法

語法

=VLOOKUP(lookup_value, table_array, col_index_num, )

  • lookup_value:要查找的值,可以是一個單元格引用或直接輸入的值。

  • table_array:查找的表格區域(第一列必須包含查找值)。

  • col_index_num:查找值所在行對應的返回值列數(以 table_array 的第一列為基準,從 1 開始計數)。

  • range_lookup:可選參數,控制匹配方式:

    • TRUE 或省略:近似匹配(表格第一列必須按升序排序)。

    • FALSE:精確匹配。

功能

  • 按列查找數據。

  • 支持返回多列數據中的對應值。

  • 可用於近似和精確匹配。

示例

示例數據

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第0張

示例 1:精確匹配

問題:根據學號查找學生姓名。

公式:

=VLOOKUP(102, A2:D5, 2, FALSE)

結果:

  • lookup_value:102(要查找的學號)。

  • table_array:A2:D5(查找區域)。

  • col_index_num:2(返回第 2 列的值,即姓名)。

  • range_lookup:FALSE(精確匹配)。

  • 返回值為 李四

示例 2:近似匹配

問題:根據分數查找分數等級(按分數區間)。

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第1張

公式:

=VLOOKUP(85, A2:B5, 2, TRUE)

結果:

  • lookup_value:85(要查找的分數)。

  • table_array:A2:B5(查找區域)。

  • col_index_num:2(返回第 2 列的值,即等級)。

  • range_lookup:TRUE(近似匹配,表格需按升序排序)。

  • 返回值為 B

示例 3:動態查找

問題:通過單元格引用查找學生成績。

公式:

=VLOOKUP(E2, A2:D5, 4, FALSE)

假設單元格 E2 的值為 103,公式會返回 76

示例 4:查找不存在的值

問題:如果查找的值不存在,VLOOKUP 返回 #N/A。

處理方式:

=IFERROR(VLOOKUP(105, A2:D5, 2, FALSE), "未找到")

  • 如果查找值 105 不存在,返回 未找到

  • 基礎演示

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第2張

=VLOOKUP(G6,$B$6:$E$10,4,0)

注意

1.選定區域注意要使用絕對引用,固定住查找範圍;如果是選中整列,就不用做絕對引用了;同時選定區域的起始列必須和待匹配數據的起始列保持一致

2.vlookup第四個參數一般為0,表示精確匹配,1代表模糊匹配

3.vlookup查找必須保證不重複,如果重複的話只能找到重複數據的第一個,找完就停下,不會再向下找

  • 跨表匹配

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

=VLOOKUP(A2,數據源!A:B,2,0)

如何理解感嘆號的作用?

①指定工作表範圍
如果公式涉及跨表引用,感嘆號是必須的。例如:

=VLOOKUP(A2, Sheet2!A:B, 2, FALSE)

  • Sheet2!A:B 指代 Sheet2 工作表的 A 列和 B 列。

  • 如果省略 Sheet2!,Excel 會默認查找當前工作表中的範圍。

②工作表名稱包含空格或特殊字符時
如果工作表名稱有空格或特殊字符,需要用單引號將其括起來。例如:

=VLOOKUP(A2, '我的表2'!A:B, 2, FALSE)

這裡的單引號確保 Excel 能正確識別 我的表2 是工作表名,而不是其他內容。

注意不要把數據源弄錯

2.vlookup中使用通配符

當我們查找值中有縮寫,使用通配符進行匹配

&"*"

無通配符時

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

=VLOOKUP(A2,數據源!B:E,4,0)

有通配符時

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

=VLOOKUP(A2&"*",數據源!B:E,4,0)

3.vlookup模糊查找

我們做個模糊查找的演示,用年齡來匹配男女生,男士24歲按照模糊查找規則,只能匹配比自己小且最接近的,所以是22歲女士

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

  • 示例:算提成比例

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

注意:

1.模糊匹配:只會找小於等於自己的最大值

2.模糊匹配在使用時需要按從小到大排序,比如“等級劃分”

3.一般在找數值區間劃分時用模糊匹配,絕大多數用精確匹配

4.使用isna函數處理數字格式引起的錯誤

語法

=ISNA(value)

  • value:是要檢查的值或單元格引用。如果這個值是 #N/A 錯誤,則函數返回 TRUE;如果不是 #N/A 錯誤,則返回 FALSE。

舉例說明

①基本用法: 假設你在單元格 A1 中有一個公式,可能返回 #N/A 錯誤:

=ISNA(VLOOKUP("not_found", A2:B10, 2, FALSE))

如果 VLOOKUP 沒有找到匹配的值,它會返回 #N/A 錯誤。ISNA 會檢查該錯誤,若為 #N/A 錯誤,返回 TRUE,否則返回 FALSE。

②常見應用場景: ISNA 函數通常與 VLOOKUP、MATCH 等函數結合使用,處理 #N/A 錯誤,以便自定義錯誤提示或執行其他操作。例如,結合 IF 函數:

=IF(ISNA(VLOOKUP("item", A2:B10, 2, FALSE)), "未找到", "已找到")

在此公式中,若 VLOOKUP 返回 #N/A 錯誤(即未找到對應的 "item"),ISNA 會返回 TRUE,IF 函數會返回 "未找到",否則返回 "已找到"

查找值需要與被查的範圍的第一列格式相同

數值如何變成文本?

數值只能加減乘除,不能左右相連,但是數值連接空雙引號""可以變成文本

文本如何變成數值?

文本只能左右相連,不能加減乘除,但是文本乘1可以變成數值

待匹配內容和原內容既有文本,又有數值,怎麼辦?

用isna函數:即先將所有待匹配內容當成數值找一遍對於出現NA錯誤的,就把它再當成文本找一遍

  • 查找範圍(數據表)第一列為文本,把查找值變為文本&""

  • 查找值為文本,把查找值變為數值*1、+0、--。

  • 兩種情況都存在

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

=IF(ISNA(VLOOKUP(F4&"",$A$18:$C$22,3,0)),VLOOKUP(F4*1,$A$9:$C$14,3,0),VLOOKUP(F4&"",$A$2:$C$6,3,0))

一句話概括:先判斷是否為文本數據,不是返回True,if填入數值數據,是就返回False,if填入文本數據

1. F4&"" 和 F4*1

  • F4&"":這個操作是將 F4 單元格的內容轉化為文本(即強制將值轉為字符串)。例如,如果 F4 中是數字 123,F4&"" 將會變為字符串 "123"。

  • F4*1:這是將 F4 中的值轉化為數字的操作。如果 F4 中是文本形式的數字,F4*1 會將其轉換為數值型。例如,如果 F4 中是 "123"(字符串),F4*1 會轉換為 123(數字)。

2. VLOOKUP(F4&"",$A$18:$C$22,3,0)

  • 這是一個 VLOOKUP 查找函數,它會在 $A$18:$C$22 範圍內查找 F4&""(即 F4 轉換為文本的值)。

  • F4&"":作為查找值(字符串)。

  • $A$18:$C$22:查找的表格範圍(A列是查找列,C列是返回值列)。

  • 3:表示返回 第3列(即 C 列)中的值。

  • 0:表示精確匹配。

3. ISNA

  • ISNA(VLOOKUP(...)) 用來檢查 VLOOKUP 函數的結果是否為 #N/A 錯誤。如果 VLOOKUP 沒有找到匹配的項,它會返回 #N/A 錯誤,ISNA 會返回 TRUE,否則返回 FALSE。

4. IF 邏輯

  • IF(ISNA(...), ..., ...):如果 VLOOKUP(F4&"", $A$18:$C$22, 3, 0) 返回 #N/A 錯誤(即在範圍 $A$18:$C$22 中沒有找到 F4 的值),則執行 VLOOKUP(F4*1, $A$9:$C$14, 3, 0),即根據 F4 轉換為數字後,在另一個範圍 $A$9:$C$14 中查找。

  • 如果 VLOOKUP(F4&"", $A$18:$C$22, 3, 0) 沒有返回 #N/A 錯誤(即找到了匹配的項),則直接執行 VLOOKUP(F4&"", $A$2:$C$6, 3, 0),即根據 F4 轉換為文本後,在範圍 $A$2:$C$6 中查找。

公式流程:

  1. 第一步: 嘗試在範圍 $A$18:$C$22 中查找 F4(轉為文本)。如果找到匹配的值,則返回該行的第三列(C列)的值。

  2. 第二步: 如果第一步沒有找到匹配項(即返回 #N/A 錯誤),則嘗試根據 F4 轉換為數字的值,在範圍 $A$9:$C$14 中查找。

  3. 第三步: 如果在第二步中仍然沒有找到匹配項,則嘗試在範圍 $A$2:$C$6 中根據 F4(轉為文本)查找。

總結:直接統一格式就好

5.Hlookup函數(相當與vlookup數據錶轉置)

語法:

HLOOKUP(lookup_value, table_array, row_index_num, )

參數說明:

  1. lookup_value:要查找的值。這可以是數字、文本、日期或對該值的引用。

  2. table_array:包含數據的表格區域。此區域的第一行應包含查找值,並且數據需要排列成水平行。

  3. row_index_num:要返回結果的行號。注意,row_index_num 是相對於 table_array 的行號(從第一行開始計數),而不是整個工作表的行號。例如,row_index_num = 2 表示返回第二行的數據。

  4. (可選):指定是否進行近似匹配。

  • TRUE 或省略:執行近似匹配。如果找不到精確值,則返回小於 lookup_value 的最大值。

  • FALSE:執行精確匹配。如果沒有找到完全匹配的值,則返回 #N/A 錯誤。

示例:

假設在 Excel 表格中,數據如下:

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

我們要查找 "李四" 對應的 "分數":

=HLOOKUP("分數", A1:D3, 2, FALSE)

解釋:

  • lookup_value 是 "分數"。

  • table_array 是 A1:D3(包括 "名稱"、"分數"、"年齡")。

  • row_index_num 是 2,表示我們要返回第二行的值,也就是 "分數" 所在行。

  • FALSE 表示我們要求精確匹配 "分數"。

這個公式將返回 92,即李四的分數。

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

=HLOOKUP(B14,$B$1:$V$3,3,0)

二、個人所得稅計算

應交個人所得稅=(工資-個人交五險一金金額-個人所得稅扣除額)×適用稅率-速算扣除數

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

=IF(F8 >3500,(F8 - $B$5)*VLOOKUP(F8 - $B$5, $A$6:$DS13,3,1)-VLOOKUP(F8 - $B$5, $A$6:$D$13,4,1),0)

2024年的相關信息:

  • 起徵點金額:每月5000元人民幣(年收入即為60000元,即年收入達到6萬元的,可適用於專項附加扣除)。

  • 意味著當個人每月收益在1至5000元區間內(包含5000元)時,無需繳納個人所得稅。

王佩豐Excel基礎教程24講:第11講-Vlookup函數-第3張

                                                                                                                       


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com