Google 表格 LOOKUP 函数返回错误值?

Google Sheets LOOKUP Function returning the wrong values?

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

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

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

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

我也尝试了相反的方法,查找带有硬币名称的硬币符号(第二个结果)并且效果很好。 我花了好几个小时试图解决这个问题。

我是不是遗漏了什么或者这是一个错误?

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

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

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

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

我添加了一个新的 sheet(“Erik Help”),它与您的第一个 sheet 重复。在我的 sheet 中,我从 B20:B27 中删除了您的 LOOKUP 公式,并用一个数组公式替换了它们。此公式使用 VLOOKUP 和 FALSE 作为最终参数,这意味着您的数据未按严格的从最小到最大的顺序排序,而是应该在任何地方搜索完全匹配。这个公式填充 B20:B:

的所有结果

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

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

参考文献:

您需要改用 VLOOKUP 函数

=INDEX(IFERROR(VLOOKUP(A20:A25, {USDCoinSymbols, USDCoinNames},2,0)))

这个公式就是您所需要的。
由于您的列表未排序,您应该在函数

中使用 0

(请一如既往地根据您的范围和地区调整公式)