Excel 面试 04 查找函数 XLOOKUP

Excel 的 XLOOKUP 函数是一个功能强大的查找工具,用于从一个范围或数组中搜索值并返回对应结果。它是 VLOOKUP 和 HLOOKUP 的更高级替代品,支持更多灵活功能。


语法

excel 复制代码
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
参数
  1. lookup_value:要查找的值。
  2. lookup_array:要搜索的范围或数组。
  3. return_array :返回结果的范围或数组,与 lookup_array 对应。
  4. [if_not_found] (可选):如果未找到 lookup_value,返回的自定义值(默认返回 #N/A)。
  5. [match_mode] (可选):控制查找匹配的方式。
    • 0(默认):精确匹配。如果找不到,则返回 #N/A
    • -1:精确匹配,若无精确值,返回小于的最大值。
    • 1:精确匹配,若无精确值,返回大于的最小值。
    • 2:支持通配符匹配(*?)。
  6. [search_mode] (可选):控制搜索方向。
    • 1(默认):从首到尾。
    • -1:从尾到首。
    • 2:二分法升序搜索(数据需按升序排列)。
    • -2:二分法降序搜索(数据需按降序排列)。

功能特点

  1. 支持双向查找

    • 可以在列中或行中查找,替代 VLOOKUP 和 HLOOKUP。
  2. 默认精确匹配

    • 不需要像 VLOOKUP 那样手动设置匹配模式。
  3. 支持缺失值处理

    • 可使用 if_not_found 参数自定义未找到值时的返回内容。
  4. 灵活的匹配模式

    • 提供通配符匹配和近似匹配选项。
  5. 高效的方向控制

    • 支持从前向后或从后向前搜索。

用法示例

示例 1:基本查找
产品 价格
苹果 5
香蕉 3
葡萄 8

公式

excel 复制代码
=XLOOKUP("香蕉", A2:A4, B2:B4)
  • 查找 "香蕉"A2:A4 的位置,并返回对应的价格(B2:B4)。
  • 结果3

示例 2:未找到值的自定义返回

公式

excel 复制代码
=XLOOKUP("橙子", A2:A4, B2:B4, "未找到")
  • 如果 lookup_value 不存在,则返回 "未找到"
  • 结果未找到

示例 3:近似匹配

假设有以下表格:

销售额 折扣
100 5%
200 10%
300 15%

公式

excel 复制代码
=XLOOKUP(250, A2:A4, B2:B4, , -1)
  • 查找小于或等于 250 的最大值的折扣。
  • 结果10%

示例 4:从尾到首搜索
日期 销量
2023-01-01 100
2023-01-02 200
2023-01-03 150

公式

excel 复制代码
=XLOOKUP(150, B2:B4, A2:A4, , 0, -1)
  • 从尾到首查找 150 并返回对应日期。
  • 结果2023-01-03

示例 5:通配符匹配
姓名 分数
张三 85
李四 90
王五 95

公式

excel 复制代码
=XLOOKUP("李*", A2:A4, B2:B4, , 2)
  • 使用通配符 * 查找以 "李" 开头的名字。
  • 结果90

注意事项

  1. 数组大小一致

    • lookup_arrayreturn_array 的大小必须一致,否则会返回错误。
  2. 通配符匹配需启用

    • 必须设置 match_mode2
  3. 支持动态数组

    • XLOOKUP 可以与动态数组功能结合,返回多值结果。
  4. 替代 VLOOKUP/HLOOKUP 的高效选择

    • 无需担心列索引号或手动设置升序/降序等限制。

总结

XLOOKUP 是 Excel 的现代查找函数,结合了 VLOOKUP 和 HLOOKUP 的功能,具有更高的灵活性和功能性。无论是单向查找、条件查找还是复杂匹配,XLOOKUP 都可以轻松应对,是进行表格分析时不可或缺的工具。

相关推荐
UrbanJazzerati6 小时前
使用Excel制作多类别占比分析字母饼图
excel
The Future is mine9 小时前
Python实现文件夹中文件名与Excel中存在的文件名进行对比,并进行删除操作
excel
Tomorrow'sThinker16 小时前
[特殊字符] Excel 读取收件人 + Outlook 批量发送带附件邮件 —— Python 自动化实战
python·excel·outlook
盛夏绽放18 小时前
ExcelJS 完全指南:专业级Excel导出解决方案
excel·有问必答
bing_1581 天前
Excel 如何进行多条件查找或求和?
excel
秀儿还能再秀1 天前
基于Excel的数据分析思维与分析方法
数据分析·excel
bing_1581 天前
Excel 如何处理更复杂的嵌套逻辑判断?
excel
weixin_472339461 天前
高效处理大体积Excel文件的Java技术方案解析
java·开发语言·excel
灵犀学长1 天前
EasyExcel之SheetWriteHandler:解锁Excel写入的高阶玩法
spring boot·excel
全干engineer1 天前
Spring Boot 实现主表+明细表 Excel 导出(EasyPOI 实战)
java·spring boot·后端·excel·easypoi·excel导出