Vlookup函数的使用方法详解
发布网友
发布时间:2022-04-22 00:06
我来回答
共1个回答
热心网友
时间:2022-06-08 11:11
VLOOKUP 函数
全部显示全部隐藏本文介绍 Microsoft Excel 中 VLOOKUP函数 函数:函数是预先编写的公式,可以对一个或多个值执行运算,并返回一个或多个值。函数可以简化和缩短工作表中的公式,尤其在用公式执行很长或复杂的计算时。的公式语法和用法。说明您可以使用 VLOOKUP 函数搜索某个单元格区域 (区域:工作表上的两个或多个单元格。区域中的单元格可以相邻或不相邻。)的第一列,然后返回该区域相同行上任何单元格中的值。例如,假设区域 A2:C10 中包含雇员列表,雇员的 ID 号存储在该区域的第一列,如下图所示。如果知道雇员的 ID 号,则可以使用 VLOOKUP 函数返回该雇员所在的部门或其姓名。若要获取 38 号雇员的姓名,可以使用公式 =VLOOKUP(38, A2:C10, 3, FALSE)。此公式将搜索区域 A2:C10 的第一列中的值 38,然后返回该区域同一行中第三列包含的值作为查询值(“黄雅玲”)。VLOOKUP 中的 V 表示垂直方向。当比较值位于所需查找的数据的左边一列时,可以使用 VLOOKUP 而不是 HLOOKUP。语法VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])VLOOKUP 函数语法具有下列参数 参数:为操作、事件、方法、属性、函数或过程提供信息的值。:lookup_value 必需。要在表格或区域的第一列中搜索的值。lookup_value 参数可以是值或引用。如果为 lookup_value 参数提供的值小于 table_array 参数第一列中的最小值,则 VLOOKUP 将返回错误值 #N/A。table_array 必需。包含数据的单元格区域。可以使用对区域(例如,A2:D8)或区域名称的引用。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 查找精确匹配值还是近似匹配值:如果 range_lookup 为 TRUE 或被省略,则返回精确匹配值或近似匹配值。如果找不到精确匹配值,则返回小于 lookup_value 的最大值。 要点 如果 range_lookup 为 TRUE 或被省略,则必须按升序排列 table_array 第一列中的值;否则,VLOOKUP 可能无法返回正确的值。有关详细信息,请参阅对区域或表中的数据进行排序。如果 range_lookup 为 FALSE,则不需要对 table_array 第一列中的值进行排序。如果 range_lookup 参数为 FALSE,VLOOKUP 将只查找精确匹配值。如果 table_array 的第一列中有两个或更多值与 lookup_value 匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值 #N/A。说明在 table_array 的第一列中搜索文本值时,请确保 table_array 第一列中的数据不包含前导空格、尾部空格、非打印字符或者未使用不一致的直引号(' 或 ")与弯引号(‘或“)。否则,VLOOKUP 可能返回不正确或意外的值。有关详细信息,请参阅 CLEAN 函数和 TRIM 函数。在搜索数字或日期值时,请确保 table_array 第一列中的数据未存储为文本值。否则,VLOOKUP 可能返回不正确或意外的值。如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符(问号 (?) 和星号 (*))。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在字符前键入波形符 (~)。 示例示例 1本示例搜索大气特征表的“密度”列以查找“粘度”和“温度”列中对应的值。(该值是在海平面 0 摄氏度或 1 个大气压下对空气的测定。)如果将示例复制到一个空白工作表中,可能会更容易理解该示例。如何复制示例?选择本文中的示例。如果在 Excel Web App 中复制该示例,请每次复制并粘贴一个单元格。要点 请勿选择行标题或列标题。从帮助中选择一个示例按 Ctrl+C。创建一个空白工作簿或工作表。在工作表中,选择单元格 A1,然后按 Ctrl+V。如果在 Excel Web App 中工作,请对示例中的每个单元格重复复制和粘贴操作。要点 为使示例正常工作,必须将其粘贴到工作表的单元格 A1 中。要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在 “公式”选项卡上的 “公式审核”组中单击 “显示公式”按钮。在将示例复制到空白工作表中后,您可以根据自己的需求对它进行调整。12345678910111213141516ABC密度粘度温度0.4573.555000.5253.254000.6062.933000.6752.752500.7462.572000.8352.381500.9462.171001.091.95501.291.710公式说明结果=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(0.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注释 在 Excel Web App 中,若要按正确格式查看结果,请选择相应单元格,在“开始”选项卡的“数字”组中,单击“数字格式”旁边的箭头,然后单击“常规”。示例 2本示例搜索婴幼儿用品表中“货品 ID”列并在“成本”和“涨幅”列中查找与之匹配的值,以计算价格并测试条件。如果将示例复制到一个空白工作表中,可能会更容易理解该示例。如何复制示例?在本文中选择示例。如果正在 Excel Web App 中复制示例,请一次复制并粘贴一个单元格。重要提示 请不要选择行标题或列标题。从帮助中选择一个示例按 Ctrl+C。创建一个空白工作簿或工作表。在该工作表中,选中单元格 A1,然后按 Ctrl+V。如果正在 Excel Web App 中工作,请为示例中的每个单元格重复进行复制和粘贴。重要提示 为了使示例正常运行,必须将它粘贴到工作表中的单元格 A1 中。若要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或者单击“公式”选项卡上“公式审核”组中的“显示公式”按钮。将示例复制到一个空白工作表中之后,可以根据需要对它进行调整。 1234567891011ABCD货品 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注释 在 Excel Web App 中,若要按正确格式查看结果,请选择相应单元格,在“开始”选项卡的“数字”组中,单击“数字格式”旁边的箭头,然后单击“常规”。示例 3本示例搜索员工表的 ID 列并查找其他列中的匹配值,以计算年龄并测试错误条件。如果将示例复制到一个空白工作表中,可能会更容易理解该示例。如何复制示例?在本文中选择示例。如果正在 Excel Web App 中复制示例,请一次复制并粘贴一个单元格。重要提示 请不要选择行标题或列标题。从帮助中选择一个示例按 Ctrl+C。创建一个空白工作簿或工作表。在该工作表中,选中单元格 A1,然后按 Ctrl+V。如果正在 Excel Web App 中工作,请为示例中的每个单元格重复进行复制和粘贴。重要提示 为了使示例正常运行,必须将它粘贴到工作表中的单元格 A1 中。若要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或者单击“公式”选项卡上“公式审核”组中的“显示公式”按钮。将示例复制到一个空白工作表中之后,可以根据需要对它进行调整。 123456789101112ABCDEID姓氏名字职务出生日期1黄雅玲销售代表 12/8/19682王俊元销售副总裁2/19/19523谢丽秋销售代表8/30/19634王炫皓销售代表9/19/19585孙林销售经理3/4/19556王伟销售代表 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 Web App 中,若要按正确格式查看结果,请选择相应单元格,在“开始”选项卡的“数字”组中,单击“数字格式”旁边的箭头,然后单击“常规”。