王佩丰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