我在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
开始输出,并一直向下输出。
答案 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中的值。如果您要查找单个输出列表,请在它们之间加逗号。>