Excel的VLOOKUP函数
VLOOKUP函数是Excel中最常用的查找函数之一,用于在表格的第一列中查找特定的值,然后返回同一行中其他列的值。例如,按部件号查找汽车部件的价格,或根据员工 ID 查找员工姓名。
VLOOKUP函数的语法如下:
1 | VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) |
各参数的含义如下:
lookup_value
:要查找的值。table_array
:包含查找值的表格区域。col_index_num
:要返回值的列索引(从1开始计数)。[range_lookup]
:可选参数,表示是否执行近似匹配。TRUE表示近似匹配,FALSE表示精确匹配。默认为TRUE。
例子
假设我们有一个包含员工信息的表格,其中A列是员工ID,B列是员工姓名,C列是部门。现在,我们希望根据员工ID查找员工姓名。
以下是示例表格数据:
A | B | C |
---|---|---|
101 | Alice | HR |
102 | Bob | IT |
103 | Charlie | Finance |
104 | David | Marketing |
任务
我们要查找员工ID为102的员工姓名。
步骤
- 在单元格E2中输入员工ID:102。
- 在单元格F2中输入VLOOKUP函数,公式如下:
1 | =VLOOKUP(E2, A2:C5, 2, FALSE) |
解释
E2
:我们要查找的值(员工ID 102)。A2:C5
:包含查找值的表格区域。2
:我们希望返回第二列的值(员工姓名)。FALSE
:我们需要精确匹配。
执行上述公式后,单元格F2将返回结果“Bob”。
近似匹配
与精确匹配
的区别
在Excel的VLOOKUP函数中,[range_lookup]
参数用于指定是否进行近似匹配或精确匹配。这两个匹配方式的区别如下:
精确匹配 (Exact Match)
- 参数值:
FALSE
或0
- 作用:要求查找的值必须完全匹配。
- 用途:当需要查找确切值时,例如查找特定员工ID、产品编号或其他唯一标识符。
- 结果:如果没有找到完全匹配的值,VLOOKUP将返回
#N/A
错误。
近似匹配 (Approximate Match)
- 参数值:
TRUE
或1
(或省略该参数,默认为TRUE) - 作用:允许查找的值在查找表中没有完全匹配时,返回最接近的较小值。
- 用途:通常用于查找数值范围,例如根据成绩查找等级、根据销售额查找提成百分比等。
- 结果:查找表的第一列必须按升序排列,否则可能得到错误的结果。如果找不到比查找值小的值,则返回
#N/A
错误。
例子
精确匹配
假设有一个表格,A列是产品ID,B列是产品名称。
A | B |
---|---|
1001 | Apple |
1002 | Banana |
1003 | Cherry |
1004 | Date |
我们希望查找产品ID为1003的产品名称。
在单元格E1中输入1003,在单元格F1中输入公式:
1 | =VLOOKUP(E1, A1:B4, 2, FALSE) |
结果为“Cherry”。
近似匹配
假设有一个表格,A列是销售额,B列是提成百分比。表格按升序排列。
A | B |
---|---|
1000 | 5% |
2000 | 7% |
3000 | 10% |
4000 | 12% |
我们希望根据销售额2500查找提成百分比。
在单元格E1中输入2500,在单元格F1中输入公式:
1 | =VLOOKUP(E2, A2:B5, 2, TRUE) |
结果为“7%”。因为2500在2000和3000之间,近似匹配返回较小的值对应的提成百分比,即7%。
总结
- 精确匹配:用于查找特定、唯一的值,参数设为
FALSE
。 - 近似匹配:用于查找数值范围,参数设为
TRUE
或省略,查找表需按升序排列。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Vincent's Blog!