Excel 为什么赢了';我的索引/匹配是否从工作表顶部开始?

Excel 为什么赢了';我的索引/匹配是否从工作表顶部开始?,excel,indexing,excel-formula,match,Excel,Indexing,Excel Formula,Match,我在A1的下拉列表中有一个姓名列表。我有一个公式可以查看选定的文本,它与另一个工作表上的文本匹配,然后显示在该名称旁边的ID号列表。此公式将我的结果输出到另一个工作表中该文本和ID所在的对应行。因此,我可能在第3、7和12行中有id,甚至在第15、16和17行中有一个束 我尝试了vlookup,但没有唯一标识符,结果都一样 我在网上找到了这个公式,我想我可以根据自己的用途进行修改,我可以让它在A2中显示一个数字,这个数字通常在页面的下方,但我无法让它工作得更久 =OFFSET($A$1,SMAL

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

我尝试了
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开始输出,并连续向下运行。

我确信您尝试使用偏移量的方法可以正常工作。一旦我挖进去,我就走另一条路。我相信这不是最优雅的,但它很管用

我理解你的要求:

  • 给定A1中的输入

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

是否要在单元格A2中的数据中显示输入的每个实例

编辑:用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中的公式(普通):

单元格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。我想这是可以解释的。与其尝试在这里编写一个God公式,我可能只需要在B1中编写一个公式,将A2..An中的值连接起来,如果您要查找单个输出列表,可以在其中使用逗号。

这已经奏效了。谢谢你!如果你认为它可以更干净一点,也许在一个共享的公式,这将是令人兴奋的。再次感谢@JvdV谢谢,我不知道#N/A的技术分类是什么,但在我的Excel版本中,它包含在IFERRO和ISERRO中(尽管不是ISERR)
=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))