7天Excel小白入门到精通-第四天:赋予表格智慧,掌握逻辑判断与数据查找
- 精通IF函数,让Excel能够根据不同条件执行不同的操作,实现自动化判断。
- 深度掌握VLOOKUP函数,解决跨表数据匹配的核心难题,告别手动核对。
模块一:会思考的IF函数
核心理念:如果说之前的函数是让Excel“计算”,那么IF函数就是让Excel开始“思考”。它是实现自动化流程和决策的基础。IF函数的核心逻辑非常简单,就是我们日常生活中常说的“如果……那么……否则……”。●语法:=IF(logical_test, [value_if_true], [value_if_false])1.1.logical_test (逻辑判断):一个可以被判断为“真”(TRUE)或“假”(FALSE)的表达式。通常包含比较运算符,如:■示例:A2 > 60, B2 = "合格", C2 <> ""(C2不为空)1.2.value_if_true (为真时的结果):如果逻辑判断成立(为TRUE),函数就返回这个值。1.3.value_if_false (为假时的结果):如果逻辑判断不成立(为FALSE),函数就返回这个值。实操案例:你有一张学生成绩单,包含“姓名”和“分数”两列。你需要:1.在“等级”列中,根据分数自动评级:分数大于等于60分的为“合格”,否则为“不合格”。2.在“奖学金”列中,根据分数进行更复杂的评级:大于等于90分的为“一等奖”,大于等于80分的为“二等奖”,大于等于60分的为“三等奖”,其余为“无”。3.结合AND、OR函数进行多条件判断:只有“分数”大于80且“出勤率”(在D列)大于95%的学生,才能获得“优秀学生”提名。○公式:假设分数在B2单元格,在C2单元格输入=IF(B2 >= 60, "合格", "不合格")。○解读:如果B2单元格的数值大于或等于60(条件为真),就返回文本“合格”;否则(条件为假),就返回文本“不合格”。○核心思想:将一个新的IF函数,作为上一个IF函数value_if_false的参数。○公式:在D2单元格输入:=IF(B2 >= 90, "一等奖", IF(B2 >= 80, "二等奖", IF(B2 >= 60, "三等奖", "无")))◆否:进入第二层判断(即第一个IF的value_if_false部分)。■第二层:判断B2是否>= 80?(能进入这一步的,说明已经排除了>=90的情况)○注意:嵌套IF时,条件的顺序很重要。通常从最苛刻(或最大)的条件开始判断。最后有几个IF,就要有几个右括号。○AND(logical1, [logical2], ...):所有的条件都为TRUE时,才返回TRUE。表示“并且”。○OR(logical1, [logical2], ...):只要有一个条件为TRUE,就返回TRUE。表示“或者”。■公式:在E2单元格输入=IF(AND(B2 > 80, D2 > 0.95), "提名", "不提名")■解读:AND(B2 > 80, D2 > 0.95)作为一个整体,成为IF函数的logical_test。只有当分数大于80并且出勤率大于95%这两个条件同时满足时,AND函数才返回TRUE,IF函数最终才返回“提名”。●对于更复杂的多条件判断(如Excel 2019及以上版本),可以使用IFS函数,避免多层嵌套,语法更清晰:=IFS(B2>=90, "一等奖", B2>=80, "二等奖", B2>=60, "三等奖", B2<60, "无")。模块二:职场查找神器VLOOKUP
核心理念:VLOOKUP是Excel中最著名、也可能是最重要的函数之一。它的核心功能是数据匹配与查询。想象一下,你有两张表,一张是销售订单表(只有产品ID),另一张是产品信息表(有产品ID、产品名称、单价)。你想在订单表里,根据产品ID自动填入产品名称和单价。手动一个个地复制粘贴?当你有几千条订单时,这简直是灾难。VLOOKUP就是解决这个问题的“神器” 。●VLOOKUP的“V”代表Vertical(垂直),意味着它是按列进行查找的。它会在一个数据表的第一列中,查找你指定的值,然后返回同一行中、你指定的另一列的值。●语法:=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])6.1.lookup_value (要找谁):你要查找的值。在我们的案例中,就是销售订单表里的“产品ID”。6.2.table_array (在哪儿找):查找的范围。这个范围必须包含你要查找的值(产品ID)和你想要返回的结果(产品名称、单价)。极其重要的一点:lookup_value对应的那一列,必须是table_array这个范围的第一列!在我们的案例中,这个范围就是产品信息表。通常我们会用F4绝对引用这个范围,因为拖动公式时,这个“字典表”的位置是固定的。6.3.col_index_num (找到了以后,要返回第几列的数据):在table_array这个范围内,从左往右数,你想要返回的结果在哪一列。如果要返回产品名称,而产品名称在table_array的第2列,那么这个参数就是2。6.4.[range_lookup] (要精确找,还是模糊找):这是一个可选参数,但99%的情况下都至关重要!■FALSE或0:精确匹配。表示只有找到和lookup_value一模一样的值,才返回结果,否则返回错误值#N/A。日常工作中,99%的场景都应该使用精确匹配!■TRUE或1 (或省略不写):模糊匹配。它会查找最接近lookup_value的值。使用模糊匹配的前提是,table_array的第一列必须是升序排列的。常用于计算个人所得税率、绩效等级对应的奖金系数等阶梯式计算场景。●Sheet1: "销售订单表"(A列: 订单ID, B列: 产品ID, C列: 数量, D列: (待填充)产品名称, E列: (待填充)单价)●Sheet2: "产品信息表"(A列: 产品ID, B列: 产品名称, C列: 单价)任务:在“销售订单表”中,根据B列的“产品ID”,从“产品信息表”中查出对应的“产品名称”和“单价”。○操作:在“销售订单表”的D2单元格,开始输入公式。○公式:=VLOOKUP(B2, '产品信息表'!$A$2:$C$100, 2, FALSE)■lookup_value: B2 (当前订单行的产品ID)。■table_array: '产品信息表'!$A$2:$C$100◆$A$2:$C$100是产品信息表的数据范围,我们用F4将其绝对引用,这样向下拖动公式时,查找范围不会变。◆注意,A列(产品ID)是这个范围的第一列,符合VLOOKUP的要求。■col_index_num: 2 (因为在$A$2:$C$100这个范围里,我们想返回的“产品名称”在第2列)。■range_lookup: FALSE (我们要求产品ID必须完全一样,精确匹配)。○完成:输入公式后回车,然后双击D2单元格的填充柄,所有产品的名称都会被自动填充。○公式:=VLOOKUP(B2, '产品信息表'!$A$2:$C$100, 3, FALSE)○解读:这个公式和上一个几乎完全一样,唯一的区别是col_index_num变成了3,因为“单价”在查找范围的第3列。●场景:根据销售额(0, 5000, 10000, 20000)评定提成比例(3%, 5%, 7%, 10%)。你需要创建一个提成比率查询表(第一列是销售额下限,第二列是比率),然后用VLOOKUP进行模糊匹配,根据实际销售额自动查找对应的提成比例。8.1.查询表的第一列(销售额下限)必须升序排列。8.2.range_lookup参数使用TRUE或1。○公式示例:=VLOOKUP(实际销售额, 提成比率表, 2, TRUE)。它会自动找到小于等于实际销售额的那个最大档位。●#N/A错误:VLOOKUP最常见的错误就是#N/A,表示“没找到”。原因通常有:○lookup_value在table_array的第一列中确实不存在。○格式不匹配:一个ID是数字格式,另一个是文本格式。●XLOOKUP (未来趋势):在Microsoft 365和Excel 2021中,新增了XLOOKUP函数。它比VLOOKUP更强大、更灵活:○如果你的Excel版本支持,强烈推荐学习和使用XLOOKUP。今天,你已经掌握了Excel中“智慧”的精髓。IF函数让你的表格有了决策能力,VLOOKUP函数则赋予了它跨表整合数据的超能力。这是你从一个表格使用者,向表格设计者转变的关键一步。●IF函数:IF(判断, 真结果, 假结果)的三段论,以及通过嵌套或配合AND/OR实现复杂判断。●VLOOKUP函数:“找谁、在哪找、返回第几列、怎么找”的四要素,尤其要记住绝对引用查找范围和99%情况用FALSE精确匹配。9.下载练习文件《Day4-订单与员工数据.xlsx》。○任务一(IF):在“考核等级”列,根据“考核得分”进行评级:○任务二(IF + AND):在“是否晋升”列,判断是否可以晋升。条件是:“考核等级”为 "S"并且“违纪次数”为0。满足条件的显示“是”,否则显示“否”。11.Sheet2 - “订单详情” & Sheet3 - “物料主数据”:○任务三(VLOOKUP):在“订单详情”表中,“物料名称”和“单价(元)”是空的。请根据A列的“物料编码”,到“物料主数据”表中,使用VLOOKUP函数,将对应的“物料名称”和“单价(元)”查找过来。○任务四(公式计算):在“订单详情”表中,填写“总价(元)”列,公式为数量 * 单价。○挑战任务(VLOOKUP+IFERROR):你可能会发现有些物料编码在主数据表中不存在,导致VLOOKUP返回#N/A。请修改你的VLOOKUP公式,使用IFERROR函数,当VLOOKUP出现错误时,让单元格显示“物料不存在”,而不是难看的错误值。(提示:=IFERROR(你的VLOOKUP公式, "物料不存在"))完成今天的作业,你处理日常工作的能力将发生质变。明天,我们将深入探讨一个更宏大的话题:如何设计出“健康”的表格,以及如何拯救那些混乱不堪的“病态”表格。这将从根本上提升你的制表思维。