0

我在让 excel 识别我的 VLOOKUP 公式中的表格时遇到问题。这是我试图根据下拉列表中的选择来显示当前数量的公式。

=IFERROR(VLOOKUP(K7,inventory,3,0),"")

K7 是我创建的下拉列表,引用了我的表“库存”。我已将我的表命名为“库存”,并尝试将我的表转换回范围并重新列出具有相同错误的数据。当我取出公式的 IFERROR("") 部分时,我得到一个 #N/A 错误。我的表格上也有条件格式,突出显示/加粗满足特定条件的行(列值大于另一个列值)。该表与下拉列表位于同一工作表中。我的工作簿中目前没有任何 VBA 代码或项目。

最终,我想要做的是使用下拉列表获取表中的当前值,并通过添加或减去用户指定的数字来更改该值。

上下文图像

4

3 回答 3

2

如果您想使用结构化表引用,请放弃 VLOOKUP 并改用 INDEX/MATCH 函数对。这将允许您更好地控制用于查找的列以及用于检索的列。不需要将公式包装在 IFERROR 中,因为正确配置的下拉列表应始终返回一个值。

=index(inventory[qty], match(K6, inventory[description], 0))

很简单,在描述列中查找匹配项并从相应的数量列中返回值。

在此处输入图像描述

于 2018-05-31T20:23:44.063 回答
0

您需要修改方程式,因为您的表数组需要从查找值开始的位置开始(如果您使用的是 VLOOKUP。上面还有另一个同样有效的解决方案,它使用 INDEX/MATCH 函数)。
您对这些函数有更多的控制权,并且可以参考您的表格,但缺点是这些方程式对于不太注重 excel 的用户来说并不直观。您遇到了 VLOOKUP 的缺点,但对于普通的 excel 用户来说,它更容易阅读和理解。(道德是两者都有+ / -)

=VLOOKUP(K7, C:E, 3, 0)

上面的等式将找到您的查找值 (K7) 并在 E 列中返回相应的值。如果您需要 F 列中的相应值,您可以按如下方式调整等式:

=VLOOKUP(K7, C:F, 4, 0)

于 2018-05-31T20:53:11.480 回答
0

如果您的表称为“库存”,并且您希望“数量”列中的值基于 K7 中的值,请尝试以下公式。

=iferror(vlookup(k7,inventory[[#All],[Description]:[QTY]],3,false),"")
于 2018-05-31T19:16:25.547 回答