【发布时间】:2015-08-12 12:25:23
【问题描述】:
我正在尝试使用结合 MATCH、COLUMN 和数据验证单元格的 INDEX 函数。
这是我写的函数,但是它抛出了一个错误,表明有问题。
=INDEX(ShipsData,MATCH(B3,ShipsData[Name],0),COLUMN(ShipsData[Max_Level]))
这行得通,但它不像我想要的那样具有未来的证明。
=INDEX(ShipsData,MATCH(B3,ShipsData[Name],0),13)
我应该指出这些都不是条件之间数据验证的最大值,第二个在放置在单元格中时有效。
附加信息:
ShipsData 是表的名称,B3 是一个 Data Validated 单元格,其中包含所有可能的船舶的下拉列表,并且表中有两列名为 Name 和 Max_Level。
我要做的是验证一艘船的等级,使其介于(包括)最低等级 (1) 和最高等级之间,每艘船各不相同。
如果您需要更多信息,我可以提供。
编辑:
我解决了部分问题,公式现在在一个单元格中完成,表格标题 Max_Level 中有错字。
但是,当我将此公式添加到数据验证中时,它会提示我“我们发现此公式有问题”并且它不会插入,但是该函数现在可以在单元格中使用。
【问题讨论】:
-
B3 上的数据验证似乎与您的公式中的问题没有任何关系;无论 B3 是否是数据验证单元格,它的值都会以同样的方式影响您的 INDEX 公式。看起来问题在于您指的是 ShipsData[Name] 和 ShipsData[Max_Level]。我以前没有在 Excel 公式中看到过这一点。它是否意味着引用命名二维数组的特定列?因为这在我测试时不起作用。
-
@Grade'Eh'Bacon 我相信它们是结构化引用,即用于名为 ShipsData 的表以及该表中名为 Name 和 Max_Level 的列。
-
@XORLX 啊-我错过了这是对实际 Excel 表的参考;认为这是一个命名范围。看起来这应该有效,如果不是,我假设 ShipsName / ShipsData 的无效引用被传递给公式。
标签: excel excel-formula