XLOOKUP函数使用技巧大全

XLOOKUP函数 是Excel中的个项强大的查找功能函数,相较于传统的 VLOOKUPHLOOKUP,它更加灵活且功能丰富,不仅能向下查找,还能向左、向右以及向上查找。本文将详细介绍 XLOOKUP 的语法和各种使用技巧,帮助您高效处理数据。


一、XLOOKUP函数的基本语法

语法

XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

参数说明

  • lookup_value:要查找的值。
  • lookup_array:查找的区域。
  • return_array:返回值所在的区域。
  • if_not_found(可选):当未找到值时的返回内容。
  • match_mode(可选):匹配方式。
    • 0:精确匹配(默认)。
    • -1:精确匹配,未找到时返回小于查找值的最大值。
    • 1:精确匹配,未找到时返回大于查找值的最小值。
    • 2:通配符匹配。
  • search_mode(可选):查找方向。
    • 1:从第一项到最后一项(默认)。
    • -1:从最后一项到第一项。
    • 2:二分法查找(查找前需要排序)。
    • -2:倒序二分法查找。

二、XLOOKUP的基本用法

1. 简单查找

场景:查找某商品的价格。

公式示例

=XLOOKUP("商品A", A2:A100, B2:B100)
  • A2:A100 是商品名称列。
  • B2:B100 是对应的价格列。

效果:返回“商品A”的价格。如果未找到,会显示错误。


2. 设置未找到值的返回内容

场景:避免未找到时显示错误。

公式示例

=XLOOKUP("商品B", A2:A100, B2:B100, "未找到")
  • 如果“商品B”不存在,公式将返回“未找到”。

3. 实现左向查找

场景:传统的VLOOKUP无法向左查找,但XLOOKUP支持。

公式示例

=XLOOKUP("商品A", B2:B100, A2:A100)
  • B2:B100 是价格列。
  • A2:A100 是商品名称列。

效果:根据价格查找对应的商品名称。


4. 模糊匹配与通配符查找

场景:查找以某字符开头或包含某字符的内容。

公式示例

=XLOOKUP("A*", A2:A100, B2:B100, "未找到", 2)
  • 查找以“A”开头的商品。

5. 使用匹配模式查找最近值

场景:根据一定的范围匹配最近值。

公式示例

=XLOOKUP(50, A2:A100, B2:B100, "未找到", 1)
  • 查找值为50的最近匹配,如果未找到,则返回大于50的最小值。

三、高级技巧

1. 多条件查找

场景:根据多个条件进行查找。

公式示例

=XLOOKUP(1, (A2:A100="商品A")*(B2:B100="分类B"), C2:C100)
  • A2:A100 是商品列,B2:B100 是分类列。
  • 查找满足商品为“商品A”且分类为“分类B”的对应值。

2. 双向查找

场景:查找行列交叉值。

公式示例

=XLOOKUP("商品A", A2:A100, XLOOKUP("价格", B1:Z1, B2:Z100))
  • 外层XLOOKUP查找列的位置,内层XLOOKUP查找行的位置,最终返回交叉值。

3. 查找方向控制

场景:从最后一项到第一项查找。

公式示例

=XLOOKUP("商品A", A2:A100, B2:B100, "未找到", 0, -1)
  • 从最后一项开始向上查找。

4. 动态数组的应用

场景:返回多值结果。

公式示例

=XLOOKUP("商品A", A2:A100, B2:D100)
  • 如果B2:D100有多列,XLOOKUP可以返回整个区域的多列值。

四、XLOOKUP与VLOOKUP的对比

功能点 XLOOKUP VLOOKUP
向左查找 支持 不支持
未找到值的自定义返回 支持 不支持
多条件查找 支持 不直接支持
查找方向 支持从前向后或从后向前 仅支持从前向后
返回多列值 支持 不支持

五、注意事项

  1. 数组引用的范围要一致:确保 lookup_arrayreturn_array 的大小一致。
  2. 通配符匹配的适用场景:在 match_mode=2 时支持 *(任意字符)和 ?(单个字符)的匹配。
  3. 动态数组兼容性:部分旧版本Excel可能不支持动态数组功能。

 

上一篇:
Excel常用函数公式汇总