lookup相关函数(excel)

本文详细探讨LOOKUP和VLOOKUP函数在Excel中的应用,包括基本用法、参数解读、实战案例,并对比它们在查找对应关系上的区别:LOOKUP适用于一对一情况,而VLOOKUP适合一对多。通过实例演示和ISNA函数的应用,帮助理解这两种函数在实际工作中的使用技巧。

目录

LOOKUP

  • LOOKUP函数官网案例
  • 用法
    • 根据查找值,对被查找区域进行检索,获取检索到的对应列或行数据(只演示向量形式案例)。
  • 参数
    • lookup_value,查找值,可为文本、数字等
    • lookup_vector,被查找区域(一列数据),可为文本、数字等。注意:数字类型必须按升序排列,否则可能无法返回正确的值
    • result_vector,结果区域(一列数据),对检索到 lookup_vector的该行数据,返回 result_vector的指定行数据
  • 案例:lookup_value存在
    在这里插入图片描述
  • 案例:lookup_value大于lookup_vector中的所有值,则取其中最大值在这里插入图片描述
  • 案例:lookup_value小于lookup_vector中的所有值,发生错误
    在这里插入图片描述

VLOOKUP

  • VLOOKUP函数官网案例
  • ISNA函数为判断是否为#N/A
  • 用法
    • 可用于根据行查找对应区域内容
  • 参数
    • lookup_value,查阅值
    • lookup_vector,数据表,被查找区域(多列数据),检索查阅值的为被查找区域第一列
    • 列序数,返回值在被查找区域的列号,即被查找区域第一列为1,要返回指定列的数据
    • 匹配条件,TRUE为近似匹配,FALSE为精确匹配,默认为近似匹配
  • 案例:标准的vlookup函数
    在这里插入图片描述
  • 案例:vlookup函数、IF函数结合的场景
    在这里插入图片描述
  • 案例:vlookup函数、ISNAN函数、IF函数结合的场景
    在这里插入图片描述
  • lookup函数与vlookup函数简单对比(个人见解)
    lookup函数适用于查找只有2列对应关系的情况,即一对一的情况;
    vlookup函数适用于查找对应区域的所有内容,即一对多的情况;
### ExcelLOOKUP 函数的使用方法示例 LOOKUP 函数Excel 中用于查找数据的一个重要工具,它有两种形式:向量形式和数组形式。以下是关于 LOOKUP 函数的详细说明,包括语法、示例和解释。 #### 向量形式的 LOOKUP 函数 ##### 语法 ```plaintext LOOKUP(lookup_value, lookup_vector, [result_vector]) ``` - `lookup_value`:要查找的值。可以是数字、文本或逻辑值。 - `lookup_vector`:只包含一行或一列的单元格区域。LOOKUP 函数会在该区域中查找 `lookup_value`[^2]。 - `[result_vector]`:可选参数。只包含一行或一列的单元格区域,其大小必须 `lookup_vector` 相同。如果找到 `lookup_value`,则 LOOKUP 函数会返回 `result_vector` 中相同位置的数值。如果省略此参数,LOOKUP 函数会返回 `lookup_vector` 中相同位置的数值。 ##### 示例 假设有一个表格如下: ```plaintext A B 1 10 Apple 2 20 Banana 3 30 Cherry 4 40 Date ``` 使用以下公式可以从 `A` 列中查找值为 `20` 的行,并返回对应的 `B` 列中的值: ```excel =LOOKUP(20, A1:A4, B1:B4) ``` 此公式将返回 `Banana`,因为 `20` 在 `A` 列中的第 2 行,而 `B` 列第 2 行的值为 `Banana`[^2]。 #### 数组形式的 LOOKUP 函数 ##### 语法 ```plaintext LOOKUP(lookup_value, array) ``` - `lookup_value`:要查找的值。 - `array`:一个二维数组或区域。LOOKUP 函数会根据数组的维数进行查找。如果数组是单行或多行,则按行查找;如果是单列或多列,则按列查找[^1]。 ##### 示例 假设有一个表格如下: ```plaintext A B C 1 10 Apple Red 2 20 Banana Yellow 3 30 Cherry Dark Red 4 40 Date Brown ``` 使用以下公式可以从 `A` 列中查找值为 `30` 的行,并返回对应的 `C` 列中的值: ```excel =LOOKUP(30, A1:C4) ``` 此公式将返回 `Dark Red`,因为 `30` 在 `A` 列中的第 3 行,而 `C` 列第 3 行的值为 `Dark Red`[^1]。 #### 注意事项 - `lookup_vector` 必须按升序排列(例如:数字从小到大,文本从 A 到 Z),否则可能会导致错误的结果[^4]。 - 如果 `lookup_value` 小于 `lookup_vector` 中的最小值,LOOKUP 函数将返回错误值 `#N/A`[^4]。 - 如果 `lookup_value` 没有精确匹配,则 LOOKUP 函数会返回 `lookup_vector` 中小于或等于 `lookup_value` 的最大值所对应的结果[^4]。 #### 使用代码模拟 LOOKUP 函数 以下是一个 Python 模拟 LOOKUP 函数的示例: ```python def lookup(lookup_value, lookup_vector, result_vector=None): if result_vector is None: result_vector = lookup_vector # 确保 lookup_vector 和 result_vector 长度一致 if len(lookup_vector) != len(result_vector): return "#VALUE!" # 查找最接近但不超过 lookup_value 的值 closest_value = None for i in range(len(lookup_vector)): if lookup_vector[i] <= lookup_value: closest_value = lookup_vector[i] else: break if closest_value is None: return "#N/A" index = lookup_vector.index(closest_value) return result_vector[index] # 示例数据 lookup_vector = [10, 20, 30, 40] result_vector = ["Apple", "Banana", "Cherry", "Date"] # 测试 print(lookup(25, lookup_vector, result_vector)) # 输出 'Banana' ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值