首页 > 解决方案 > Google Sheets LOOKUP 函数返回错误的值?

问题描述

我正在创建一个加密跟踪电子表格,并且使用 LOOKUP 函数得到了一些奇怪的结果。我有两个命名范围:

命名范围

符号范围称为 USDCoinSymbols,硬币名称范围称为 USDCoinNames

以下是我尝试使用 LOOKUP 函数时的一些函数结果:

结果

为搜索词的混合大小写道歉。我正在试验,但看起来 LOOKUP 函数不区分大小写(例如,BNB 返回了正确的硬币名称)。

我还尝试了相反的方法,查找带有硬币名称的硬币符号(第二个结果),效果很好。我花了好几个小时试图弄清楚这一点。

我错过了什么还是这是一个错误?

编辑:这是示例电子表格的链接,我正在使用 CoinGecko API 获取此数据。

我正在尝试使用符号提取硬币名称来填充我正在创建的表格。

标签: google-sheetsgoogle-sheets-formulaspreadsheet

解决方案


这不是错误。这就是它的LOOKUP工作原理。

LOOKUP要求所有搜索列信息都严格按照从最小到最大的顺序排列,因此它不适用于您的数据。

我添加了一个新工作表(“Erik Help”),它是您的第一张工作表的副本。在我的工作表中,我删除了您的LOOKUP公式,B20:B27并用一个数组公式替换了它们。此公式使用VLOOKUPFALSE 作为最终参数,这意味着您的数据不是按照严格的最小到最大顺序排序的,而是应该在任何地方搜索精确匹配。这一个公式填充了所有结果B20:B

=ArrayFormula(IF(A20:A="",,IFERROR(VLOOKUP(A20:A,B2:C14,2,FALSE))))

如果您要将其应用于其他地方的更大列表并希望使用您的命名范围,只需替换B2:C14{USDCoinSymbols, USDCoinNames}.

参考:


推荐阅读