【问题标题】:MATCH function displays an error on some cells but works for otherMATCH 函数在某些单元格上显示错误,但对其他单元格有效
【发布时间】:2019-08-25 22:04:29
【问题描述】:

我的表的两个部分无法处理数据,因为 MATCH 公式显示“值不可用”(值存在于范围内),而其他五个部分 MATCH 公式有效。

我尝试过更改范围、清理/修剪范围(​​以删除隐藏的字符),由于某些奇怪的原因,当我将查找范围从 $A$2:$A$1200 to $A$2:$A$1300 更改为但将 INDEX 范围保留为 $A$2:$A$1200 时,第二部分有效。

=CELL("address",INDEX($A$2:$A$1200,MATCH($AP8,$A$2:$A$1200)))

预期结果是第一个匹配值的单元格引用从查找范围升序排列,但前两个部分显示 #N/A 错误。

编辑#1:

数据示例:

    A         B        C        D
1 Name1     Name1

2 Name1     Name2

3 Name1

4 Name2

5 Name2

6 Name1

7 Name2

...(list is never completed as new data is always entered)

我想要最近输入的特定名称的单元格引用。 在这种情况下,它会是

 =CELL("address",INDEX(A1:A7,MATCH(B1,A1:A7))) 

预期结果为$A$6

【问题讨论】:

  • 请提供您的数据
  • MATCH($AP8,$A$2:$A$1200) 正在进行最近匹配 (see doc's here)。你可能想要MATCH($AP8,$A$2:$A$1200,0)
  • 在 MATCH 函数中使用 0 从顶部返回第一个结果,没有 0 函数显示来自数据底部的第一个结果(我需要)。如果有人想提供帮助,我愿意提供文件。
  • 您在 Cell(Index()) 构造中使用 Match。请说明您想要达到的目标。也许有更好的方法。贴几行样本数据(不超过十几行,保持简单)和预期的结果。请仔细阅读:编辑您的帖子以提供此附加信息。不要不要在 cmets 中添加额外的细节。然后发表评论以提醒关注此问题的人。
  • 我已经添加了一个示例,如果仍然不清楚,我愿意再次分享该文件。

标签: excel excel-formula


【解决方案1】:

要获得最新输入的特定名称的单元格引用,您不能使用MATCH。但是你可以使用LOOKUP,像这样

=ADDRESS(LOOKUP(2,1/(A:A=C1),ROW(A:A)),1)

【讨论】:

    【解决方案2】:

    您可以使用 ADDRESS 函数通过使用 LARGE 找到 rowcolumn 编号来返回预期的单元格地址strong> 或 AGGREGATE 函数如下所示:

    {=ADDRESS(LARGE(IFERROR(ROW(Col_A)/(Col_A=B2),0),1),COLUMN(Col_A),1)}

    =ADDRESS(AGGREGATE(14,7,ROW(Col_A)/(Col_A=B3),1),COLUMN(Col_A),1)

    第一个是数组公式,表示需要按Ctrl+Shift+Enter确认。

    有关说明,请参见下面的屏幕截图。我已将 A 列中的数据命名Col_A

    干杯:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-23
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多