【问题标题】:Using Excel's INDEX Function with COLUMN and MATCH将 Excel 的 INDEX 函数与 COLUMN 和 MATCH 结合使用
【发布时间】: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


【解决方案1】:

在我的系统上,您的公式显示 #REF 错误。

您的第一个问题是 INDEX 函数的 Column 参数正在查找表中的列号;并且您的参考返回 Max_Level 列的绝对列号。因此,当且仅当表格从第 1 列(A 列)开始时,这才有效。

试试这个:

=INDEX(ShipsData,MATCH(B3,ShipsData[Name],0),COLUMN(ShipsData[Max_Level])-COLUMN(ShipsData)+1)

如果您的公式显示“您键入的公式包含错误”,则可能是您移动了某些内容,使得 Max_Level(或名称)不再是表格的一部分。

您可以通过在某个空白单元格中输入以下内容来检查:

=ShipsData[

并看到可用的列标题显示在下拉列表中。

例如:

【讨论】:

  • 我不相信(至少在 Excel 2010 中)自定义数据验证公式将接受结构化引用。因此,我概述了名称管理器解决方法。还是我错过了什么?
  • @XORLX 我只在工作表上解决了公式本身的问题。我以为他已经发现结构化引用不能直接用于数据验证列表,您的回复已经很好地解决了这个问题。
  • @XORLX 根本不需要
  • 我设法让它在单元格中工作,Max_Level 中有一个空格,但是当我将其粘贴到数据验证中时,它仍然抛出“我们发现这个公式有问题”消息。跨度>
  • 你说的那行在单元格中有效,但在数据验证调用中无效。
【解决方案2】:

单元格 A1 的自定义数据验证,假设 NameMax_Level(不包括它们的标题)分别占据范围 E2:E10 和 F2:F10:

=AND(A1>=1,A1<=INDEX($F$2:$F$10,MATCH($B$3,$E$2:$E$10,0)))

如果您更喜欢使用结构化表引用,这当然更动态,那么您首先需要转到名称管理器(公式选项卡)并定义限制 作为:

=INDEX(ShipsData[Max_Level],MATCH(Sheet5!$B$3,ShipsData[Name],0))

之后上述自定义数据验证变为:

=AND(A1>=1,A1<=Limit)

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 2019-06-26
    相关资源
    最近更新 更多