网站搜索

Excel 中的 XLOOKUP:如何在不排序的情况下返回最新值


如果你已经在 Excel 中从 VLOOKUP 切换到了 XLOOKUP,那么你已经迈出了改进公式的第一步。但大多数人仍然只是将其作为替代品使用——他们错过了它最强大的功能之一。

一个不太为人所知但非常有用的技巧是反转搜索方向。只需一个小改动,XLOOKUP 就可以从数据的底部开始,并返回最新的匹配项,而无需排序或辅助列。

VLOOKUP 无法找到最新记录的原因

与 Excel 的自上而下搜索默认设置的斗争

Excel 花了几十年时间训练我们从上到下思考。当你使用经典函数如 VLOOKUP 或 INDEX/MATCH 组合来查找特定项目时,公式会从数据的第一行开始扫描,并在找到匹配项时立即停止。如果你有 20 条“办公用品”的记录分布在一年中,这些旧方法会始终返回最早的那条记录——比如去年一月过时的价格。

为了解决这个问题,许多人求助于辅助列,或者在每次查找之前手动按降序对数据进行排序。这可能是一种破坏性的工作簿管理方式:不断重新排序源数据可能会破坏其他依赖关系、弄乱数据透视表,并增加人为错误的风险。你不应该为了满足基本查找公式的局限性而改变表格的物理布局。

使用 XLOOKUP 反转搜索方向

掌握用于自底向上结果的“search_mode”参数

XLOOKUP 比其前身更加灵活,因为它将搜索过程分解为六个不同的参数。完整的语法如下所示:

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

大多数情况下,你只需要前三个参数。但找到最新条目的关键是 search_mode。默认情况下,Excel 使用 1(从前到后搜索)。要反转这种行为,请使用 -1(从后到前搜索)。这告诉 Excel 从数据的最底部开始向上查找。即使日志混乱,这也能很好地工作。如果你的条目略微有些顺序混乱,最后匹配的行通常是最相关的。

一个真实的例子:从销售日志中获取实时价格

使用结构化表格引用进行动态更新

假设你正在跟踪批发水果价格。价格每天波动,你在电子表格的底部记录每一个新报价。在单元格F2中,你想查找在单元格E2中输入的商品的最新价格。

为了跟随阅读,请下载示例中使用的工作簿的免费副本。当你点击链接时,你会在屏幕的右上角找到下载按钮。

在编写公式之前,将数据格式化为 Excel 表格会有所帮助。这可以确保当你在底部添加新行时,你的 XLOOKUP 公式能够自动“看到”新信息,而无需你手动更新单元格范围。

  1. 点击数据中的任意位置。
  2. 在 插入 选项卡中,点击 表格(或按 Ctrl+T)。
  3. 确保选中我的表格有标题,然后点击确定。
  4. 选择表格后,打开表格设计选项卡,在表格名称框中输入名称(例如 T_Price_Log),然后按下回车。





现在您的数据已经整理好,您可以在单元格F2中使用XLOOKUP来获取最新的价格。您需要使用的公式如下:

=XLOOKUP($E$2, T_Price_Log[Item], T_Price_Log[Price], "Not found", 0, -1)

结尾的 -1 告诉 Excel 反向查找,强制从下往上搜索。因此,该公式会正确地告诉你苹果的最新价格是 $0.62。

记得将 F2 单元格应用 会计 或 货币 数字格式(开始 > 数字 > 会计),以便与表格中的价格列匹配。

由于你使用了结构化引用,公式会自动反映最新的条目。

如果你使用了 VLOOKUP 或 INDEX/MATCH,或者完全省略了 search_mode 参数,你将会看到苹果的最早价格($0.50,单元格 C2)。

通过额外的 XLOOKUP 功能实现工作流程现代化

为什么 XLOOKUP 是 VLOOKUP 的终极替代

掌握搜索方向是一个很好的第一步,但 XLOOKUP 提供了其他几个优势,使其优于传统工具。与 VLOOKUP 不同,它可以从任何方向返回值(不仅仅是右侧的列),并且可以垂直和水平工作。

除了灵活性之外,XLOOKUP 对数据变化的适应性也显著更强。如果你在源表中插入或删除列,VLOOKUP 往往会出错,因为它依赖于静态索引号。XLOOKUP 使用直接的范围引用或结构化的表名,这意味着即使你的电子表格增加和演变,你的公式仍然保持不变。

最后,虽然 VLOOKUP 通常需要用 IFERROR 包裹以处理未找到匹配的情况,但 XLOOKUP 的第四个参数允许你直接在公式中输入“未找到”值。这意味着你不需要担心嵌套问题,而且逻辑更容易理解。


提升你的 XLOOKUP 专业技能

一旦你掌握了这个方向技巧,进一步学习如何使用 XLOOKUP 配合多个条件,或者构建双向查找来管理更复杂的数据关系。在不知不觉中,你就会成为别人遇到电子表格问题时会求助的人。

相关文章