为什么我的索引/匹配项不从工作表的顶部开始?

时间:2019-01-29 19:05:47

标签: excel indexing excel-formula match

我在A1的下拉列表中有一个名称列表。我有一个公式,可以查看所选的文本,它与另一个工作表上的文本匹配,然后在该名称旁边显示一个ID号列表。此公式将我的结果输出到在另一工作表上找到该文本和ID的相应行。因此,我可能在第3、7和12行中有ID,甚至在15、16和17中也有ID。

我尝试过vlookup,但是没有唯一标识符,结果都是一样的。

我在网上找到了这个公式,以为可以修改自己的用法,并且可以在A2中显示一个通常位于页面下方的数字,但我无法使其发挥作用。

=OFFSET($A$1,SMALL(IF($C$1:$C$28=$D$1,ROW($C$1:$C$28)-MIN(ROW($C$1:$C$28))+1),ROWS($1:1))-1,0)

我的公式:

=IFERROR(INDEX(Data!$A2, MATCH($A$1, Data!$C2, 0))," ")

我需要它始终从单元格A2开始输出,并一直向下输出。

1 个答案:

答案 0 :(得分:1)

我确定您尝试使用OFFSET的方法可以使用。一旦深入研究,我就走了另一条路。我敢肯定它不是最优雅的,但它可以工作。

我了解您的要求是:

  • 给出A1中的输入

  • 给出一个名为Data的工作表,其中包含与C列中的数据相对应的A列中ID字符串的图表,以与Sheet1!A1中的输入进行比较

您要在单元格A2中向下显示的数据中显示输入的每个实例吗?

Like so?编辑:使用IFERROR包裹以消除在截图之前忘记的讨厌的N / A

我能够在给出示例数据的情况下完成这项工作:

001     random
002     words
003     sample
004     is
005     never
006     actually
007     random
008     actually
009     random
010     sample
011     words
012     are
013     not
014     easy
015     to
016     generate
017     random
018     words
019     actually
020     sample
021     sample

A2单元格中的公式(琐碎):

=INDEX(Data!$A$1:$A$99, MATCH($A$1, Data!$C$1:$C$99, 0))

单元格A3:

=INDEX(INDIRECT("Data!$A$"&MATCH(A2,Data!A:A,0)+1&":$A$99"), MATCH($A$1, INDIRECT("Data!$C"&MATCH(A2,Data!A:A,0)+1&":$C$99"), 0))

该公式会复制下来。

请注意,数据源不超过99行。

我使用INDIRECT函数重新定义了第n + 1个搜索所搜索的范围,以搜索从第n个搜索返回的结果之后的行开始的数组。不确定扩展性如何,但比将辅助程序行包含有尽可能多的数据更好,这就是我一年前解决此问题的方式...

在您的评论回复中进行编辑-我主要根据问题的最后一行做出回答:“我需要它始终从A2单元开始输出,并一直向下进行。”您想要查看一列具有每个单元格ID的单元格。我想这是可以解释的。与其尝试在此处编写一个上帝公式,不如我只是在B1中编写一个公式来CONCATENATE A2中的值。如果您要查找单个输出列表,请在它们之间加逗号。